\n"
@@ -854,38 +837,27 @@ msgstr ""
msgid "Price List Rate has not been set as editable in Selling Settings. In this scenario, setting Update Price List Based On to Price List Rate will prevent auto-updation of Item Price.
Are you sure you want to continue?"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2306
+#: erpnext/controllers/accounts_controller.py:2311
msgid "To allow over-billing, please set allowance in Accounts Settings.
"
msgstr ""
#. Content of the 'Message Examples' (HTML) field in DocType 'Payment Gateway
#. Account'
#: erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
-msgid ""
-"Message Example
\n"
-"\n"
-"<p> Thank You for being a part of {{ doc.company }}! We hope you are enjoying the service.</p>\n"
-"\n"
-"<p> Please find enclosed the E Bill statement. The outstanding amount is {{ doc.grand_total }}.</p>\n"
-"\n"
-"<p> We don't want you to be spending time running around in order to pay for your Bill.
After all, life is beautiful and the time you have in hand should be spent to enjoy it!
So here are our little ways to help you get more time for life! </p>\n"
-"\n"
-"<a href=\"{{ payment_url }}\"> click here to pay </a>\n"
-"\n"
+msgid "Message Example
\n\n"
+"<p> Thank You for being a part of {{ doc.company }}! We hope you are enjoying the service.</p>\n\n"
+"<p> Please find enclosed the E Bill statement. The outstanding amount is {{ doc.grand_total }}.</p>\n\n"
+"<p> We don't want you to be spending time running around in order to pay for your Bill.
After all, life is beautiful and the time you have in hand should be spent to enjoy it!
So here are our little ways to help you get more time for life! </p>\n\n"
+"<a href=\"{{ payment_url }}\"> click here to pay </a>\n\n"
"
\n"
msgstr ""
#. Content of the 'Message Examples' (HTML) field in DocType 'Payment Request'
#: erpnext/accounts/doctype/payment_request/payment_request.json
-msgid ""
-"Message Example
\n"
-"\n"
-"<p>Dear {{ doc.contact_person }},</p>\n"
-"\n"
-"<p>Requesting payment for {{ doc.doctype }}, {{ doc.name }} for {{ doc.grand_total }}.</p>\n"
-"\n"
-"<a href=\"{{ payment_url }}\"> click here to pay </a>\n"
-"\n"
+msgid "Message Example
\n\n"
+"<p>Dear {{ doc.contact_person }},</p>\n\n"
+"<p>Requesting payment for {{ doc.doctype }}, {{ doc.name }} for {{ doc.grand_total }}.</p>\n\n"
+"<a href=\"{{ payment_url }}\"> click here to pay </a>\n\n"
"
\n"
msgstr ""
@@ -922,8 +894,7 @@ msgstr ""
#. Header text in the ERPNext Settings Workspace
#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
-msgid ""
-"Your Shortcuts\n"
+msgid "Your Shortcuts\n"
"\t\t\t\n"
"\t\t\n"
"\t\t\t\n"
@@ -939,18 +910,17 @@ msgstr ""
msgid "Your Shortcuts"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:1136
+#: erpnext/accounts/doctype/payment_request/payment_request.py:1148
msgid "Grand Total: {0}"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:1137
+#: erpnext/accounts/doctype/payment_request/payment_request.py:1149
msgid "Outstanding Amount: {0}"
msgstr ""
#. Content of the 'html_19' (HTML) field in DocType 'Inventory Dimension'
#: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json
-msgid ""
-"\n"
+msgid "\n"
"\n"
" \n"
" | Child Document | \n"
@@ -960,8 +930,7 @@ msgid ""
"
\n"
"\n"
" | \n"
-" To access parent document field use parent.fieldname and to access child table document field use doc.fieldname \n"
-"\n"
+" To access parent document field use parent.fieldname and to access child table document field use doc.fieldname \n\n"
" | \n"
" \n"
" To access document field use doc.fieldname \n"
@@ -969,38 +938,30 @@ msgid ""
" |
\n"
"\n"
" | \n"
-" Example: parent.doctype == \"Stock Entry\" and doc.item_code == \"Test\" \n"
-"\n"
+" Example: parent.doctype == \"Stock Entry\" and doc.item_code == \"Test\" \n\n"
" | \n"
" \n"
" Example: doc.doctype == \"Stock Entry\" and doc.purpose == \"Manufacture\" \n"
" | \n"
-"
\n"
-"\n"
+"\n\n"
"\n"
-"
\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
+"
\n\n\n\n\n\n\n"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:224
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:233
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:116
msgid "A - B"
msgstr ""
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:189
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:239
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:248
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:131
msgid "A - C"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:356
+#: erpnext/selling/doctype/customer/customer.py:366
msgid "A Customer Group exists with same name please change the Customer name or rename the Customer Group"
-msgstr "客戶群組存在相同名稱,請更改客戶名稱或重新命名客戶群組"
+msgstr ""
#: erpnext/manufacturing/doctype/workstation/workstation.js:73
msgid "A Holiday List can be added to exclude counting these days for the Workstation."
@@ -1028,11 +989,11 @@ msgstr ""
msgid "A Product or a Service that is bought, sold or kept in stock."
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:570
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:601
msgid "A Reconciliation Job {0} is running for the same filters. Cannot reconcile now"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1772
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1783
msgid "A Reverse Journal Entry {0} already exists for this Journal Entry."
msgstr ""
@@ -1052,6 +1013,10 @@ msgstr ""
msgid "A disabled Product Bundle cannot be selected in transactions."
msgstr ""
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:636
+msgid "A draft reverse journal for {0} has been created: {1}"
+msgstr ""
+
#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:59
msgid "A driver must be set to submit."
msgstr ""
@@ -1069,7 +1034,7 @@ msgstr ""
msgid "A logical Warehouse against which stock entries are made."
msgstr ""
-#: erpnext/stock/serial_batch_bundle.py:1479
+#: erpnext/stock/serial_batch_bundle.py:1565
msgid "A naming series conflict occurred while creating serial numbers. Please change the naming series for the item {0}."
msgstr ""
@@ -1093,6 +1058,10 @@ msgstr ""
msgid "A quality inspection must be completed before generating a Purchase Receipt for this item."
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.js:476
+msgid "A separate Purchase Order is created for each Supplier."
+msgstr ""
+
#: erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py:96
msgid "A template with tax category {0} already exists. Only one template is allowed with each tax category"
msgstr ""
@@ -1102,6 +1071,10 @@ msgstr ""
msgid "A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission."
msgstr ""
+#: erpnext/crm/doctype/appointment/appointment.py:70
+msgid "A verified appointment cannot be moved back to 'Unverified' status."
+msgstr ""
+
#. Option for the 'Blood Group' (Select) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
msgid "A+"
@@ -1179,19 +1152,19 @@ msgstr ""
msgid "Abbreviation"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:240
+#: erpnext/setup/doctype/company/company.py:242
msgid "Abbreviation already used for another company"
-msgstr "另一家公司已使用此縮寫"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:237
+#: erpnext/setup/doctype/company/company.py:239
msgid "Abbreviation is mandatory"
-msgstr "縮寫是強制性的"
+msgstr ""
-#: erpnext/stock/doctype/item_attribute/item_attribute.py:115
+#: erpnext/stock/doctype/item_attribute/item_attribute.py:117
msgid "Abbreviation: {0} must appear only once"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1288
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1295
msgid "Above"
msgstr ""
@@ -1203,7 +1176,7 @@ msgstr ""
#. Name of a role
#: erpnext/setup/doctype/department/department.json
msgid "Academics User"
-msgstr "學術界用戶"
+msgstr ""
#: banking/src/components/features/Settings/KeyboardShortcuts.tsx:38
msgid "Accept Matching Rule"
@@ -1245,10 +1218,10 @@ msgid "Accepted Qty in Stock UOM"
msgstr ""
#. Label of the qty (Float) field in DocType 'Purchase Receipt Item'
-#: erpnext/public/js/controllers/transaction.js:2886
+#: erpnext/public/js/controllers/transaction.js:2875
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Accepted Quantity"
-msgstr "允收數量"
+msgstr ""
#. Label of the warehouse (Link) field in DocType 'Purchase Invoice Item'
#. Label of the set_warehouse (Link) field in DocType 'Purchase Receipt'
@@ -1281,7 +1254,7 @@ msgstr ""
msgid "According to CEFACT/ICG/2010/IC013 or CEFACT/ICG/2010/IC010"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1269
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1290
msgid "According to the BOM {0}, the Item '{1}' is missing in the stock entry."
msgstr ""
@@ -1293,7 +1266,7 @@ msgstr ""
#. Name of a report
#: erpnext/accounts/report/account_balance/account_balance.json
msgid "Account Balance"
-msgstr "帳戶餘額"
+msgstr ""
#. Label of the account_category (Link) field in DocType 'Account'
#. Name of a DocType
@@ -1330,9 +1303,11 @@ msgstr ""
#. Label of the account_currency (Link) field in DocType 'Purchase Taxes and
#. Charges'
#. Label of the account_currency (Link) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the account_currency (Link) field in DocType 'Unreconcile Payment
#. Entries'
#. Label of the account_currency (Link) field in DocType 'Landed Cost Taxes and
+#. Charges'
#: 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/bank_clearance/bank_clearance.json
@@ -1388,6 +1363,7 @@ msgstr ""
#. Charges'
#. Label of the account_head (Link) field in DocType 'POS Closing Entry Taxes'
#. Label of the account_head (Link) field in DocType 'Purchase Taxes and
+#. Charges'
#. Label of the account_head (Link) field in DocType 'Sales Taxes and Charges'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.json
@@ -1401,8 +1377,8 @@ msgstr ""
msgid "Account Manager"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1057
-#: erpnext/controllers/accounts_controller.py:2423
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1063
+#: erpnext/controllers/accounts_controller.py:2428
msgid "Account Missing"
msgstr ""
@@ -1420,7 +1396,7 @@ msgstr ""
msgid "Account Name"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:373
+#: erpnext/accounts/doctype/account/account.py:404
msgid "Account Not Found"
msgstr ""
@@ -1431,11 +1407,11 @@ msgstr ""
#: erpnext/accounts/report/financial_statements.py:685
#: erpnext/accounts/report/trial_balance/trial_balance.py:495
msgid "Account Number"
-msgstr "帳號"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:359
+#: erpnext/accounts/doctype/account/account.py:390
msgid "Account Number {0} already used in account {1}"
-msgstr "已在科目{1}中使用的帳號{0}"
+msgstr ""
#. Label of the account_opening_balance (Currency) field in DocType 'Bank
#. Reconciliation Tool'
@@ -1455,7 +1431,7 @@ msgstr ""
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py:120
msgid "Account Pay Only"
-msgstr "科目只需支付"
+msgstr ""
#. Label of the account_subtype (Link) field in DocType 'Bank Account'
#. Label of the account_subtype (Data) field in DocType 'Bank Account Subtype'
@@ -1472,7 +1448,7 @@ msgstr ""
#. Label of the account_type (Select) field in DocType 'Payment Ledger Entry'
#. Label of the account_type (Select) field in DocType 'Party Type'
#: erpnext/accounts/doctype/account/account.json
-#: erpnext/accounts/doctype/account/account.py:206
+#: erpnext/accounts/doctype/account/account.py:207
#: erpnext/accounts/doctype/account/account_tree.js:154
#: erpnext/accounts/doctype/bank_account/bank_account.json
#: erpnext/accounts/doctype/bank_account_type/bank_account_type.json
@@ -1482,19 +1458,19 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:34
#: erpnext/setup/doctype/party_type/party_type.json
msgid "Account Type"
-msgstr "科目類型"
+msgstr ""
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:162
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:167
msgid "Account Value"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:328
+#: erpnext/accounts/doctype/account/account.py:359
msgid "Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"
-msgstr "科目餘額已歸為貸方,不允許設為借方"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:322
+#: erpnext/accounts/doctype/account/account.py:353
msgid "Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"
-msgstr "科目餘額已歸為借方科目,不允許設為貸方"
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.py:148
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.py:154
@@ -1541,6 +1517,12 @@ msgstr ""
msgid "Account to record additional purchase expenses like freight or customs for this item"
msgstr ""
+#. Description of the 'Expenses Added To Stock Account' (Link) field in DocType
+#. 'Item Default'
+#: erpnext/stock/doctype/item_default/item_default.json
+msgid "Account to track value added to stock via Stock Entry, Stock Reconciliation or Landed Cost Voucher"
+msgstr ""
+
#. Description of the 'Default COGS Account' (Link) field in DocType 'Item
#. Default'
#: erpnext/stock/doctype/item_default/item_default.json
@@ -1559,36 +1541,36 @@ msgstr ""
msgid "Account where the cost of this item will be debited on purchase"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:427
+#: erpnext/accounts/doctype/account/account.py:458
msgid "Account with child nodes cannot be converted to ledger"
-msgstr "有子節點的帳不能轉換到總帳"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:279
+#: erpnext/accounts/doctype/account/account.py:310
msgid "Account with child nodes cannot be set as ledger"
-msgstr "科目與子節點不能被設置為分類帳"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:438
+#: erpnext/accounts/doctype/account/account.py:469
msgid "Account with existing transaction can not be converted to group."
-msgstr "科目與現有的交易不能被轉換到群組。"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:467
+#: erpnext/accounts/doctype/account/account.py:498
msgid "Account with existing transaction can not be deleted"
-msgstr "科目與現有的交易不能被刪除"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:273
-#: erpnext/accounts/doctype/account/account.py:429
+#: erpnext/accounts/doctype/account/account.py:304
+#: erpnext/accounts/doctype/account/account.py:460
msgid "Account with existing transaction cannot be converted to ledger"
-msgstr "帳戶與現有的交易不能被轉換為總賬"
+msgstr ""
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:79
msgid "Account {0} added multiple times"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:291
+#: erpnext/accounts/doctype/account/account.py:322
msgid "Account {0} cannot be converted to Group as it is already set as {1} for {2}."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:288
+#: erpnext/accounts/doctype/account/account.py:319
msgid "Account {0} cannot be disabled as it is already set as {1} for {2}."
msgstr ""
@@ -1596,17 +1578,17 @@ msgstr ""
msgid "Account {0} does not belong to company {1}"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:287
+#: erpnext/setup/doctype/company/company.py:289
msgid "Account {0} does not belong to company: {1}"
-msgstr "科目{0}不屬於公司:{1}"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:590
+#: erpnext/accounts/doctype/account/account.py:621
msgid "Account {0} does not exist"
-msgstr "科目{0}不存在"
+msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:70
msgid "Account {0} does not exists"
-msgstr "科目{0}不存在"
+msgstr ""
#: erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py:51
msgid "Account {0} does not exists in the dashboard chart {1}"
@@ -1614,51 +1596,51 @@ msgstr ""
#: erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py:48
msgid "Account {0} does not match with Company {1} in Mode of Account: {2}"
-msgstr "帳戶{0}與帳戶模式{2}中的公司{1}不符"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:139
msgid "Account {0} doesn't belong to Company {1}"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:545
+#: erpnext/accounts/doctype/account/account.py:576
msgid "Account {0} exists in parent company {1}."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:411
+#: erpnext/accounts/doctype/account/account.py:442
msgid "Account {0} is added in the child company {1}"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:276
+#: erpnext/setup/doctype/company/company.py:278
msgid "Account {0} is disabled."
msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:428
msgid "Account {0} is frozen"
-msgstr "帳戶{0}被凍結"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:1498
+#: erpnext/controllers/accounts_controller.py:1503
msgid "Account {0} is invalid. Account Currency must be {1}"
-msgstr "科目{0}是無效的。科目貨幣必須是{1}"
+msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:358
msgid "Account {0} should be of type Expense"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:152
+#: erpnext/accounts/doctype/account/account.py:153
msgid "Account {0}: Parent account {1} can not be a ledger"
-msgstr "科目{0}:上層科目{1}不能是總帳"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:158
+#: erpnext/accounts/doctype/account/account.py:159
msgid "Account {0}: Parent account {1} does not belong to company: {2}"
-msgstr "科目{0}:上層科目{1}不屬於公司:{2}"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:146
+#: erpnext/accounts/doctype/account/account.py:147
msgid "Account {0}: Parent account {1} does not exist"
-msgstr "科目{0}:上層科目{1}不存在"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:149
+#: erpnext/accounts/doctype/account/account.py:150
msgid "Account {0}: You can not assign itself as parent account"
-msgstr "科目{0}:你不能指定自己為上層科目"
+msgstr ""
#: erpnext/accounts/general_ledger.py:467
msgid "Account: {0} is capital Work in progress and can not be updated by Journal Entry"
@@ -1666,15 +1648,15 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:376
msgid "Account: {0} can only be updated via Stock Transactions"
-msgstr "帳號:{0}只能通過庫存的交易進行更新"
+msgstr ""
-#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2743
+#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2746
msgid "Account: {0} is not permitted under Payment Entry"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3307
+#: erpnext/controllers/accounts_controller.py:3312
msgid "Account: {0} with currency: {1} can not be selected"
-msgstr "帳號:{0}幣種:{1}不能選擇"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:1
msgid "Accountant"
@@ -1704,24 +1686,31 @@ msgstr ""
#: erpnext/setup/workspace/home/home.json erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Accounting"
-msgstr "會計"
+msgstr ""
#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Dunning'
#. Label of the section_break_9 (Section Break) field in DocType 'Dunning Type'
#. Label of the more_info (Section Break) field in DocType 'POS Invoice'
#. Label of the accounting (Section Break) field in DocType 'POS Invoice Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Purchase Invoice'
#. Label of the more_info (Section Break) field in DocType 'Sales Invoice'
#. Label of the accounting (Section Break) field in DocType 'Sales Invoice
#. Item'
#. Label of the accounting_details (Section Break) field in DocType 'Purchase
#. Order Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Delivery Note Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Material Request Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Purchase Receipt Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
#. '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
@@ -1782,50 +1771,91 @@ msgstr ""
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Advance Taxes and Charges'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Journal Entry Account'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Journal Entry Template Account'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Loyalty Program'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Opening Invoice Creation Tool'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Opening Invoice Creation Tool Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Payment Entry'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Payment Reconciliation Allocation'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Payment Request'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'POS Invoice'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'POS Invoice Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'POS Profile'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Invoice Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Taxes and Charges'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Sales Invoice'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Sales Invoice Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Sales Taxes and Charges'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Shipping Rule'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Subscription'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Subscription Plan'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset Capitalization'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset Capitalization Asset Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset Capitalization Service Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset Capitalization Stock Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Asset Value Adjustment'
#. Label of the section_break_24 (Section Break) field in DocType 'Request for
#. Quotation Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Supplier Quotation'
#. Label of the ad_sec_break (Section Break) field in DocType 'Supplier
+#. Quotation Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Sales Order'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Sales Order Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Delivery Note'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Delivery Note Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Landed Cost Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Material Request Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Receipt'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Receipt Item'
#. Label of the accounting_dimensions_section (Tab Break) field in DocType
#. 'Stock Entry'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Stock Entry Detail'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Stock Reconciliation'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Subcontracting Order'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. '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
@@ -1877,8 +1907,11 @@ msgstr ""
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Invoice'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Order'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Purchase Order Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Subcontracting Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -1904,10 +1937,10 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:956
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:546
msgid "Accounting Entry for Asset"
-msgstr "資產會計分錄"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2320
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2340
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2396
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2416
msgid "Accounting Entry for LCV in Stock Entry {0}"
msgstr ""
@@ -1915,46 +1948,46 @@ msgstr ""
msgid "Accounting Entry for Landed Cost Voucher for SCR {0}"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:843
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:833
msgid "Accounting Entry for Service"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1046
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1067
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1085
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1106
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1127
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1155
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1267
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1506
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1528
-#: erpnext/controllers/stock_controller.py:768
-#: erpnext/controllers/stock_controller.py:785
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:940
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2265
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2279
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1056
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1077
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1095
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1116
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1137
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1165
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1277
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1542
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1564
+#: erpnext/controllers/stock_controller.py:787
+#: erpnext/controllers/stock_controller.py:804
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:930
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2341
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2355
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:753
msgid "Accounting Entry for Stock"
-msgstr "存貨的會計分錄"
+msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:740
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:729
msgid "Accounting Entry for {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2464
+#: erpnext/controllers/accounts_controller.py:2469
msgid "Accounting Entry for {0}: {1} can only be made in currency: {2}"
-msgstr "會計分錄為{0}:{1}只能在貨幣做:{2}"
+msgstr ""
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.js:193
-#: erpnext/assets/doctype/asset/asset.js:190
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:92
+#: erpnext/assets/doctype/asset/asset.js:198
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:101
#: erpnext/buying/doctype/supplier/supplier.js:123
-#: erpnext/public/js/controllers/stock_controller.js:88
+#: erpnext/public/js/controllers/stock_controller.js:118
#: erpnext/public/js/utils/ledger_preview.js:8
#: erpnext/selling/doctype/customer/customer.js:173
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:51
msgid "Accounting Ledger"
-msgstr "會計總帳"
+msgstr ""
#. Label of a Card Break in the Invoicing Workspace
#: erpnext/accounts/workspace/invoicing/invoicing.json
@@ -1973,7 +2006,7 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Accounting Period"
-msgstr "會計期間"
+msgstr ""
#: erpnext/accounts/doctype/accounting_period/accounting_period.py:49
msgid "Accounting Period cannot be created for a future date. End Date {0} is after today."
@@ -2011,14 +2044,14 @@ msgstr ""
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json
#: erpnext/assets/doctype/asset_category/asset_category.json
#: erpnext/setup/doctype/company/company.json
-#: erpnext/setup/doctype/company/company.py:446
+#: erpnext/setup/doctype/company/company.py:448
#: erpnext/setup/doctype/customer_group/customer_group.json
#: erpnext/setup/doctype/email_digest/email_digest.json
#: erpnext/setup/doctype/incoterm/incoterm.json
#: erpnext/setup/doctype/supplier_group/supplier_group.json
#: erpnext/setup/install.py:419
msgid "Accounts"
-msgstr "會計"
+msgstr ""
#. Label of the closing_settings_tab (Tab Break) field in DocType 'Accounts
#. Settings'
@@ -2050,19 +2083,19 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:256
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/report/accounts_payable/accounts_payable.json
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:124
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:127
#: erpnext/buying/doctype/supplier/supplier.js:135
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Accounts Payable"
-msgstr "應付帳款"
+msgstr ""
#. Name of a report
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:175
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:178
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.json
msgid "Accounts Payable Summary"
-msgstr "應付帳款摘要"
+msgstr ""
#. Option for the 'Write Off Based On' (Select) field in DocType 'Journal
#. Entry'
@@ -2075,13 +2108,13 @@ msgstr "應付帳款摘要"
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.json
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:147
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:150
#: erpnext/selling/doctype/customer/customer.js:162
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Accounts Receivable"
-msgstr "應收帳款"
+msgstr ""
#. Label of the accounts_receivable_payable_tuning_section (Section Break)
#. field in DocType 'Accounts Settings'
@@ -2108,10 +2141,10 @@ msgid "Accounts Receivable Discounted Account"
msgstr ""
#. Name of a report
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:202
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:205
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.json
msgid "Accounts Receivable Summary"
-msgstr "應收帳款匯總"
+msgstr ""
#. Label of the accounts_receivable_unpaid (Link) field in DocType 'Invoice
#. Discounting'
@@ -2129,7 +2162,7 @@ msgstr ""
#: erpnext/workspace_sidebar/accounts_setup.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Accounts Settings"
-msgstr "會計設定"
+msgstr ""
#. Label of a Desktop Icon
#. Title of a Workspace Sidebar
@@ -2138,9 +2171,9 @@ msgstr "會計設定"
msgid "Accounts Setup"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1337
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1348
msgid "Accounts table cannot be blank."
-msgstr "賬表不能為空。"
+msgstr ""
#. Label of the merge_accounts (Table) field in DocType 'Ledger Merge'
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
@@ -2158,7 +2191,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:112
#: erpnext/accounts/report/account_balance/account_balance.js:37
msgid "Accumulated Depreciation"
-msgstr "累計折舊"
+msgstr ""
#. Label of the accumulated_depreciation_account (Link) field in DocType 'Asset
#. Category Account'
@@ -2172,19 +2205,19 @@ msgstr ""
#. Label of the accumulated_depreciation_amount (Currency) field in DocType
#. 'Depreciation Schedule'
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:178
-#: erpnext/assets/doctype/asset/asset.js:385
+#: erpnext/assets/doctype/asset/asset.js:393
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
msgid "Accumulated Depreciation Amount"
-msgstr "累計折舊額"
+msgstr ""
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:876
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:894
msgid "Accumulated Depreciation as on"
-msgstr "作為累計折舊"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:521
msgid "Accumulated Monthly"
-msgstr "每月累計"
+msgstr ""
#: erpnext/controllers/budget_controller.py:425
msgid "Accumulated Monthly Budget for Account {0} against {1} {2} is {3}. It will be collectively ({4}) exceeded by {5}"
@@ -2198,11 +2231,11 @@ msgstr ""
#: erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.js:12
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.js:40
msgid "Accumulated Values"
-msgstr "累積值"
+msgstr ""
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.js:125
msgid "Accumulated Values in Group Company"
-msgstr "集團公司累計價值"
+msgstr ""
#: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py:111
msgid "Achieved ({})"
@@ -2227,6 +2260,12 @@ msgstr ""
msgid "Action Initialised"
msgstr ""
+#. Label of the action_for_expired_unverified_appointments (Select) field in
+#. DocType 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Action for Expired Unverified Appointments"
+msgstr ""
+
#. Label of the action_if_accumulated_monthly_budget_exceeded (Select) field in
#. DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
@@ -2355,15 +2394,15 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/projects.json
msgid "Activity Cost"
-msgstr "項目成本"
+msgstr ""
#: erpnext/projects/doctype/activity_cost/activity_cost.py:51
msgid "Activity Cost exists for Employee {0} against Activity Type - {1}"
-msgstr "存在活動費用為員工{0}對活動類型 - {1}"
+msgstr ""
#: erpnext/projects/doctype/activity_type/activity_type.js:10
msgid "Activity Cost per Employee"
-msgstr "每個員工活動費用"
+msgstr ""
#. Label of the activity_type (Link) field in DocType 'Sales Invoice Timesheet'
#. Label of the activity_type (Link) field in DocType 'Activity Cost'
@@ -2382,7 +2421,7 @@ msgstr "每個員工活動費用"
#: erpnext/templates/pages/timelog_info.html:25
#: erpnext/workspace_sidebar/projects.json
msgid "Activity Type"
-msgstr "活動類型"
+msgstr ""
#. Option for the 'Type' (Select) field in DocType 'Advance Taxes and Charges'
#. Option for the 'Type' (Select) field in DocType 'Purchase Taxes and Charges'
@@ -2395,7 +2434,7 @@ msgstr "活動類型"
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:322
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:332
msgid "Actual"
-msgstr "實際"
+msgstr ""
#: erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py:125
msgid "Actual Balance Qty"
@@ -2435,7 +2474,7 @@ msgstr ""
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:254
#: erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py:129
msgid "Actual End Date"
-msgstr "實際結束日期"
+msgstr ""
#. Label of the actual_end_date (Date) field in DocType 'Project'
#. Label of the act_end_date (Date) field in DocType 'Task'
@@ -2444,7 +2483,7 @@ msgstr "實際結束日期"
msgid "Actual End Date (via Timesheet)"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:300
+#: erpnext/manufacturing/doctype/work_order/work_order.py:304
msgid "Actual End Date cannot be before Actual Start Date"
msgstr ""
@@ -2454,7 +2493,7 @@ msgstr ""
msgid "Actual End Time"
msgstr ""
-#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:465
+#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:470
msgid "Actual Expense"
msgstr ""
@@ -2490,10 +2529,11 @@ msgstr ""
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:63
#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:96
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:141
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:142
msgid "Actual Qty"
-msgstr "實際數量"
+msgstr ""
#. Label of the actual_qty (Float) field in DocType 'Stock Entry Detail'
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -2508,7 +2548,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:202
msgid "Actual Qty is mandatory"
-msgstr "實際數量是強制性"
+msgstr ""
#: erpnext/manufacturing/doctype/plant_floor/stock_summary_template.html:37
#: erpnext/stock/dashboard/item_dashboard_list.html:28
@@ -2521,7 +2561,7 @@ msgstr ""
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:95
msgid "Actual Quantity"
-msgstr "實際數量"
+msgstr ""
#. Label of the actual_start_date (Datetime) field in DocType 'Job Card'
#. Label of the actual_start_date (Datetime) field in DocType 'Work Order'
@@ -2529,7 +2569,7 @@ msgstr "實際數量"
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:248
msgid "Actual Start Date"
-msgstr "實際開始日期"
+msgstr ""
#. Label of the actual_start_date (Date) field in DocType 'Project'
#. Label of the act_start_date (Date) field in DocType 'Task'
@@ -2562,14 +2602,10 @@ msgstr ""
msgid "Actual Time in Hours (via Timesheet)"
msgstr ""
-#: erpnext/stock/page/stock_balance/stock_balance.js:55
-msgid "Actual qty in stock"
-msgstr "實際庫存數量"
-
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1538
#: erpnext/public/js/controllers/accounts.js:194
msgid "Actual type tax cannot be included in Item rate in row {0}"
-msgstr "實際類型稅不能被包含在商品率排{0}"
+msgstr ""
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1023
msgid "Ad-hoc Qty"
@@ -2577,7 +2613,7 @@ msgstr ""
#: erpnext/stock/doctype/price_list/price_list.js:8
msgid "Add / Edit Prices"
-msgstr "新增 / 編輯價格"
+msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.js:214
msgid "Add Columns in Transaction Currency"
@@ -2591,7 +2627,7 @@ msgstr ""
#: erpnext/public/js/event.js:24
msgid "Add Customers"
-msgstr "添加客戶"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:93
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:442
@@ -2600,18 +2636,18 @@ msgstr ""
#: erpnext/public/js/event.js:40
msgid "Add Employees"
-msgstr "添加員工"
+msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:256
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:264
#: erpnext/selling/doctype/sales_order/sales_order.js:285
#: erpnext/stock/dashboard/item_dashboard.js:216
msgid "Add Item"
-msgstr "新增項目"
+msgstr ""
#: erpnext/public/js/utils/item_selector.js:20
#: erpnext/public/js/utils/item_selector.js:35
msgid "Add Items"
-msgstr "添加項目"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py:56
msgid "Add Items in the Purpose Table"
@@ -2623,7 +2659,7 @@ msgstr ""
#: erpnext/public/js/event.js:16
msgid "Add Leads"
-msgstr "添加潛在客戶"
+msgstr ""
#. Label of the add_local_holidays (Section Break) field in DocType 'Holiday
#. List'
@@ -2642,7 +2678,7 @@ msgstr ""
#: erpnext/projects/doctype/task/task_tree.js:49
msgid "Add Multiple Tasks"
-msgstr "添加多個任務"
+msgstr ""
#. Label of the add_deduct_tax (Select) field in DocType 'Advance Taxes and
#. Charges'
@@ -2654,8 +2690,8 @@ msgstr ""
msgid "Add Order Discount"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:281
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:416
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:289
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:424
msgid "Add Phantom Item"
msgstr ""
@@ -2665,7 +2701,7 @@ msgid "Add Quote"
msgstr ""
#. Label of the add_raw_materials (Button) field in DocType 'BOM Operation'
-#: erpnext/manufacturing/doctype/bom/bom.js:1050
+#: erpnext/manufacturing/doctype/bom/bom.js:1054
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
msgid "Add Raw Materials"
msgstr ""
@@ -2687,7 +2723,7 @@ msgstr ""
#: erpnext/public/js/event.js:48
msgid "Add Sales Partners"
-msgstr "添加銷售合作夥伴"
+msgstr ""
#. Label of the add_schedule (Button) field in DocType 'Sales Order Item'
#: erpnext/selling/doctype/sales_order/sales_order.js:657
@@ -2697,6 +2733,7 @@ msgstr ""
#. Label of the add_serial_batch_bundle (Button) field in DocType
#. 'Subcontracting Receipt Item'
+#. Label of the add_serial_batch_bundle (Button) field in DocType
#. 'Subcontracting Receipt Supplied Item'
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
@@ -2705,6 +2742,7 @@ msgstr ""
#. Label of the add_serial_batch_bundle (Button) field in DocType 'Purchase
#. Invoice Item'
+#. Label of the add_serial_batch_bundle (Button) field in DocType 'Purchase
#. Receipt Item'
#. Label of the add_serial_batch_bundle (Button) field in DocType 'Stock Entry
#. Detail'
@@ -2719,6 +2757,7 @@ msgstr ""
#. Label of the add_serial_batch_for_rejected_qty (Button) field in DocType
#. 'Purchase Receipt Item'
+#. Label of the add_serial_batch_for_rejected_qty (Button) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -2729,19 +2768,19 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:281
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:416
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:289
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:424
msgid "Add Sub Assembly"
msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:517
#: erpnext/public/js/event.js:32
msgid "Add Suppliers"
-msgstr "添加供應商"
+msgstr ""
#: erpnext/utilities/activation.py:124
msgid "Add Timesheets"
-msgstr "添加時間表"
+msgstr ""
#. Label of the add_weekly_holidays (Section Break) field in DocType 'Holiday
#. List'
@@ -2769,12 +2808,16 @@ msgstr ""
msgid "Add all accounts that you want to split the transaction into."
msgstr ""
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:92
+msgid "Add atleast one voucher to repost."
+msgstr ""
+
#: erpnext/www/book_appointment/index.html:42
msgid "Add details"
msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.js:89
-#: erpnext/stock/doctype/pick_list/pick_list.py:937
+#: erpnext/stock/doctype/pick_list/pick_list.py:967
msgid "Add items in the Item Locations table"
msgstr ""
@@ -2786,7 +2829,7 @@ msgstr ""
#: 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 "添加您的組織的其餘部分用戶。您還可以添加邀請客戶到您的門戶網站通過從聯繫人中添加它們"
+msgstr ""
#. Label of the get_weekly_off_dates (Button) field in DocType 'Holiday List'
#. Label of the get_local_holidays (Button) field in DocType 'Holiday List'
@@ -2805,7 +2848,7 @@ msgstr ""
msgid "Add to Transit"
msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:119
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:178
msgid "Add vouchers to generate preview."
msgstr ""
@@ -2823,11 +2866,11 @@ msgstr ""
msgid "Added On"
msgstr ""
-#: erpnext/buying/doctype/supplier/supplier.py:135
+#: erpnext/buying/doctype/supplier/supplier.py:139
msgid "Added Supplier Role to User {0}."
msgstr ""
-#: erpnext/controllers/website_list_for_contact.py:308
+#: erpnext/controllers/website_list_for_contact.py:310
msgid "Added {1} Role to User {0}."
msgstr ""
@@ -2852,6 +2895,7 @@ msgstr ""
#. Label of the additional_cost_per_qty (Currency) field in DocType
#. 'Subcontracting Order Item'
+#. Label of the additional_cost_per_qty (Currency) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -2865,7 +2909,9 @@ msgstr ""
#. 'Subcontracting Order'
#. Label of the additional_costs (Table) field in DocType 'Subcontracting
#. Order'
+#. Label of the tab_additional_costs (Tab Break) field in DocType
#. 'Subcontracting Receipt'
+#. Label of the additional_costs (Table) field in DocType 'Subcontracting
#. Receipt'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
@@ -2898,6 +2944,7 @@ msgstr ""
#. Label of the section_break_41 (Section Break) field in DocType 'Supplier
#. Quotation'
#. Label of the section_break_44 (Section Break) field in DocType 'Quotation'
+#. Label of the additional_discount_section (Section Break) field in DocType
#. 'Sales Order'
#. Label of the section_break_49 (Section Break) field in DocType 'Delivery
#. Note'
@@ -2945,12 +2992,15 @@ msgstr ""
#. Label of the base_discount_amount (Currency) field in DocType 'Purchase
#. Invoice'
#. Label of the base_discount_amount (Currency) field in DocType 'Sales
+#. Invoice'
+#. Label of the base_discount_amount (Currency) field in DocType 'Purchase
#. Order'
#. Label of the base_discount_amount (Currency) field in DocType 'Supplier
#. Quotation'
#. Label of the base_discount_amount (Currency) field in DocType 'Quotation'
#. Label of the base_discount_amount (Currency) field in DocType 'Delivery
#. Note'
+#. Label of the base_discount_amount (Currency) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -2963,7 +3013,7 @@ msgstr ""
msgid "Additional Discount Amount (Company Currency)"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:849
+#: erpnext/controllers/taxes_and_totals.py:854
msgid "Additional Discount Amount ({discount_amount}) cannot exceed the total before such discount ({total_before_discount})"
msgstr ""
@@ -2972,13 +3022,20 @@ msgstr ""
#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Purchase Invoice'
#. Label of the additional_discount_percentage (Float) field in DocType 'Sales
+#. Invoice'
#. Label of the additional_discount_percentage (Percent) field in DocType
#. 'Subscription'
+#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Purchase Order'
+#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Supplier Quotation'
+#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Quotation'
+#. Label of the additional_discount_percentage (Float) field in DocType 'Sales
#. Order'
+#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Delivery Note'
+#. Label of the additional_discount_percentage (Float) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -3014,13 +3071,16 @@ msgstr ""
#. Label of the more_information (Section Break) field in DocType 'Sales
#. Invoice'
#. Label of the section_break_jtou (Section Break) field in DocType 'Asset'
+#. Label of the additional_info_section (Section Break) field in DocType
#. 'Purchase Order'
#. Label of the more_info (Section Break) field in DocType 'Supplier Quotation'
#. Label of the sb_more_info (Section Break) field in DocType 'Task'
+#. Label of the additional_info_section (Section Break) field in DocType
#. 'Quotation'
#. Label of the additional_info_section (Section Break) field in DocType 'Sales
#. Order'
#. Label of the more_info (Section Break) field in DocType 'Delivery Note'
+#. Label of the additional_info_section (Section Break) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -3048,7 +3108,7 @@ msgstr ""
msgid "Additional Information updated successfully."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:830
+#: erpnext/manufacturing/doctype/work_order/work_order.js:834
msgid "Additional Material Transfer"
msgstr ""
@@ -3071,9 +3131,8 @@ msgstr ""
msgid "Additional Transferred Qty"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:782
-msgid ""
-"Additional Transferred Qty {0}\n"
+#: erpnext/manufacturing/doctype/work_order/work_order.py:841
+msgid "Additional Transferred Qty {0}\n"
"\t\t\t\t\tcannot be greater than {1}.\n"
"\t\t\t\t\tTo fix this, increase the percentage value\n"
"\t\t\t\t\tof the field 'Transfer Extra Raw Materials to WIP'\n"
@@ -3088,7 +3147,10 @@ msgstr ""
#. Label of the contact_and_address_tab (Tab Break) field in DocType 'POS
#. Invoice'
#. Label of the address_and_contact_tab (Tab Break) field in DocType 'Purchase
+#. Invoice'
#. Label of the contact_and_address_tab (Tab Break) field in DocType 'Sales
+#. Invoice'
+#. Label of the address_and_contact_tab (Tab Break) field in DocType 'Purchase
#. Order'
#. Label of the address_and_contact_tab (Tab Break) field in DocType 'Request
#. for Quotation'
@@ -3105,6 +3167,7 @@ msgstr ""
#. Label of the company_info (Section Break) field in DocType 'Company'
#. Label of the address_and_contact_tab (Tab Break) field in DocType 'Delivery
#. Note'
+#. Label of the address_and_contact_tab (Tab Break) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/dunning/dunning.json
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -3211,7 +3274,7 @@ msgstr ""
msgid "Address and Contacts"
msgstr ""
-#: erpnext/accounts/custom/address.py:33
+#: erpnext/accounts/custom/address.py:35
msgid "Address needs to be linked to a Company. Please add a row for Company in the Links table."
msgstr ""
@@ -3225,7 +3288,7 @@ msgstr ""
msgid "Adjustment Against"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:664
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:653
msgid "Adjustment based on Purchase Invoice rate"
msgstr ""
@@ -3236,7 +3299,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:103
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:168
msgid "Administrative Expenses"
-msgstr "行政開支"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:3
msgid "Administrative Officer"
@@ -3256,7 +3319,11 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:163
msgid "Advance Amount"
-msgstr "提前量"
+msgstr ""
+
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:93
+msgid "Advance Booking Days is mandatory for Appointment Scheduling."
+msgstr ""
#. Label of the advance_paid (Currency) field in DocType 'Sales Order'
#: erpnext/selling/doctype/sales_order/sales_order.json
@@ -3296,15 +3363,16 @@ msgstr ""
#. Label of the advances_section (Section Break) field in DocType 'Purchase
#. Invoice'
#. Label of the advances_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the advance_payments_section (Section Break) field in DocType
#. 'Company'
#: 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:306
+#: erpnext/controllers/accounts_controller.py:311
#: erpnext/setup/doctype/company/company.json
msgid "Advance Payments"
-msgstr "預付款"
+msgstr ""
#. Name of a DocType
#. Label of the taxes (Table) field in DocType 'Payment Entry'
@@ -3337,16 +3405,17 @@ msgstr ""
msgid "Advance amount"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:986
+#: erpnext/controllers/taxes_and_totals.py:991
msgid "Advance amount cannot be greater than {0} {1}"
-msgstr "提前量不能大於{0} {1}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:881
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:882
msgid "Advance paid against {0} {1} cannot be greater than Grand Total {2}"
msgstr ""
#. Description of the 'Only Include Allocated Payments' (Check) field in
#. DocType 'Purchase Invoice'
+#. Description of the 'Only Include Allocated Payments' (Check) field in
#. DocType 'Sales Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -3407,19 +3476,20 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:95
#: erpnext/accounts/report/general_ledger/general_ledger.py:774
msgid "Against Account"
-msgstr "針對帳戶"
+msgstr ""
#. Label of the against_blanket_order (Check) field in DocType 'Purchase Order
#. Item'
#. Label of the against_blanket_order (Check) field in DocType 'Quotation Item'
#. Label of the against_blanket_order (Check) field in DocType 'Sales Order
+#. Item'
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
msgid "Against Blanket Order"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1150
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1156
msgid "Against Customer Order {0}"
msgstr ""
@@ -3468,19 +3538,20 @@ msgstr ""
#. Label of the against_income_account (Small Text) field in DocType 'POS
#. Invoice'
#. Label of the against_income_account (Small Text) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Against Income Account"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:743
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:744
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:792
msgid "Against Journal Entry {0} does not have any unmatched {1} entry"
-msgstr "對日記條目{0}沒有任何無與倫比{1}進入"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:393
msgid "Against Journal Entry {0} is already adjusted against some other voucher"
-msgstr "對日記條目{0}已經調整一些其他的優惠券"
+msgstr ""
#. Label of the against_pick_list (Link) field in DocType 'Sales Invoice Item'
#. Label of the against_pick_list (Link) field in DocType 'Delivery Note Item'
@@ -3517,7 +3588,7 @@ msgstr ""
msgid "Against Stock Entry"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:339
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:349
msgid "Against Supplier Invoice {0}"
msgstr ""
@@ -3525,7 +3596,7 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/report/general_ledger/general_ledger.py:807
msgid "Against Voucher"
-msgstr "對傳票"
+msgstr ""
#. Label of the against_voucher_no (Dynamic Link) field in DocType 'Advance
#. Payment Ledger Entry'
@@ -3550,26 +3621,33 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:805
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:183
msgid "Against Voucher Type"
-msgstr "對憑證類型"
+msgstr ""
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:113
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.js:60
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:259
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py:102
msgid "Age"
-msgstr "年齡"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:154
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:138
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:139
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1222
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1229
msgid "Age (Days)"
-msgstr "時間(天)"
+msgstr ""
#: erpnext/stock/report/stock_ageing/stock_ageing.py:265
msgid "Age ({0})"
msgstr ""
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:73
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:28
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:102
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:28
+msgid "Age as on"
+msgstr ""
+
#. Label of the ageing_based_on (Select) field in DocType 'Process Statement Of
#. Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
@@ -3580,7 +3658,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html:119
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:21
msgid "Ageing Based On"
-msgstr "老齡化基於"
+msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:80
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:35
@@ -3609,17 +3687,12 @@ msgstr ""
#. Label of the agent_busy_message (Data) field in DocType 'Incoming Call
#. Settings'
#. Label of the agent_busy_message (Data) field in DocType 'Voice Call
+#. Settings'
#: erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.json
#: erpnext/telephony/doctype/voice_call_settings/voice_call_settings.json
msgid "Agent Busy Message"
msgstr ""
-#. Label of the agent_detail_section (Section Break) field in DocType
-#. 'Appointment Booking Settings'
-#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
-msgid "Agent Details"
-msgstr ""
-
#. Label of the agent_group (Link) field in DocType 'Incoming Call Handling
#. Schedule'
#: erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
@@ -3670,13 +3743,14 @@ 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:169
-#: erpnext/accounts/utils.py:1632 erpnext/public/js/setup_wizard.js:279
+#: erpnext/accounts/utils.py:1626 erpnext/public/js/setup_wizard.js:279
msgid "All Accounts"
-msgstr "所有科目"
+msgstr ""
#. Label of the all_activities_section (Section Break) field in DocType 'Lead'
#. Label of the all_activities_section (Section Break) field in DocType
#. 'Opportunity'
+#. Label of the all_activities_section (Section Break) field in DocType
#. 'Prospect'
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/doctype/opportunity/opportunity.json
@@ -3695,7 +3769,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:391
msgid "All BOMs"
-msgstr "所有的材料明細表"
+msgstr ""
#. Option for the 'Send To' (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -3708,36 +3782,36 @@ msgid "All Customer Contact"
msgstr ""
#: erpnext/patches/v13_0/remove_bad_selling_defaults.py:9
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:165
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:167
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:174
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:180
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:186
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:192
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:168
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:170
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:177
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:183
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:189
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:195
msgid "All Customer Groups"
-msgstr "所有客戶群組"
+msgstr ""
#: erpnext/patches/v11_0/create_department_records_for_each_company.py:23
#: erpnext/patches/v11_0/update_department_lft_rgt.py:9
#: erpnext/patches/v11_0/update_department_lft_rgt.py:11
#: erpnext/patches/v11_0/update_department_lft_rgt.py:16
-#: erpnext/setup/doctype/company/company.py:439
-#: erpnext/setup/doctype/company/company.py:442
-#: erpnext/setup/doctype/company/company.py:447
-#: erpnext/setup/doctype/company/company.py:453
-#: erpnext/setup/doctype/company/company.py:459
-#: erpnext/setup/doctype/company/company.py:465
-#: erpnext/setup/doctype/company/company.py:471
-#: erpnext/setup/doctype/company/company.py:477
-#: erpnext/setup/doctype/company/company.py:483
-#: erpnext/setup/doctype/company/company.py:489
-#: erpnext/setup/doctype/company/company.py:495
-#: erpnext/setup/doctype/company/company.py:501
-#: erpnext/setup/doctype/company/company.py:507
-#: erpnext/setup/doctype/company/company.py:513
-#: erpnext/setup/doctype/company/company.py:519
+#: erpnext/setup/doctype/company/company.py:441
+#: erpnext/setup/doctype/company/company.py:444
+#: erpnext/setup/doctype/company/company.py:449
+#: erpnext/setup/doctype/company/company.py:455
+#: erpnext/setup/doctype/company/company.py:461
+#: erpnext/setup/doctype/company/company.py:467
+#: erpnext/setup/doctype/company/company.py:473
+#: erpnext/setup/doctype/company/company.py:479
+#: erpnext/setup/doctype/company/company.py:485
+#: erpnext/setup/doctype/company/company.py:491
+#: erpnext/setup/doctype/company/company.py:497
+#: erpnext/setup/doctype/company/company.py:503
+#: erpnext/setup/doctype/company/company.py:509
+#: erpnext/setup/doctype/company/company.py:515
+#: erpnext/setup/doctype/company/company.py:521
msgid "All Departments"
-msgstr "所有部門"
+msgstr ""
#. Option for the 'Send To' (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -3746,14 +3820,9 @@ msgstr ""
#: erpnext/setup/doctype/item_group/item_group.py:36
#: erpnext/setup/doctype/item_group/item_group.py:37
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:33
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:41
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:48
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:54
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:60
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:66
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:28
msgid "All Item Groups"
-msgstr "所有項目群組"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_selector.js:29
#: erpnext/selling/page/point_of_sale/pos_item_selector.js:271
@@ -3795,29 +3864,29 @@ msgstr ""
#: erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py:29
#: erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py:32
#: erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py:36
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:197
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:199
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:206
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:212
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:218
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:224
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:230
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:236
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:242
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:200
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:202
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:209
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:215
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:221
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:227
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:233
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:239
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:245
msgid "All Supplier Groups"
-msgstr "所有供應商組織"
+msgstr ""
#: erpnext/patches/v13_0/remove_bad_selling_defaults.py:12
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:145
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:147
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:154
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:160
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:148
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:150
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:157
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:163
msgid "All Territories"
-msgstr "所有的領土"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:384
+#: erpnext/setup/doctype/company/company.py:386
msgid "All Warehouses"
-msgstr "所有倉庫"
+msgstr ""
#: erpnext/stock/doctype/item/item_prices.html:72
msgid "All active prices for this item across buying and selling price lists."
@@ -3831,41 +3900,45 @@ msgstr ""
#: erpnext/support/doctype/issue/issue.js:109
msgid "All communications including and above this shall be moved into the new Issue"
-msgstr "包括及以上的所有通信均應移至新發行中"
+msgstr ""
#. Description of the 'Billing Currency' (Link) field in DocType 'Customer'
#: erpnext/selling/doctype/customer/customer.json
msgid "All invoices and orders for this customer will be created in this currency."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:970
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:971
msgid "All items are already requested"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1520
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1510
msgid "All items have already been Invoiced/Returned"
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:1201
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:1213
msgid "All items have already been received"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3652
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3728
msgid "All items have already been transferred for this Work Order."
-msgstr "所有項目已經為此工作單轉移。"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:3009
+#: erpnext/public/js/controllers/transaction.js:2998
msgid "All items in this document already have a linked Quality Inspection."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1286
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1292
msgid "All items must be linked to a Sales Order or Subcontracting Inward Order for this Sales Invoice."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1297
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1303
msgid "All linked Sales Orders must be subcontracted."
msgstr ""
+#: erpnext/stock/doctype/pick_list/pick_list.py:1608
+msgid "All picked items have already been transferred against this Pick List"
+msgstr ""
+
#. Description of the 'Carry Forward Communication and Comments' (Check) field
#. in DocType 'CRM Settings'
#: erpnext/crm/doctype/crm_settings/crm_settings.json
@@ -3876,11 +3949,11 @@ msgstr ""
msgid "All the items have been already returned."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1275
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1286
msgid "All the required items (raw materials) will be fetched from BOM and populated in this table. Here you can also change the Source Warehouse for any item. And during the production, you can track transferred raw materials from this table."
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:836
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:848
msgid "All these items have already been Invoiced/Returned"
msgstr ""
@@ -3893,6 +3966,7 @@ msgstr ""
#. Label of the allocate_advances_automatically (Check) field in DocType 'POS
#. Invoice'
#. Label of the allocate_advances_automatically (Check) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Allocate Advances Automatically (FIFO)"
@@ -3906,7 +3980,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:928
msgid "Allocate Payment Amount"
-msgstr "分配付款金額"
+msgstr ""
#. Label of the allocate_payment_based_on_payment_terms (Check) field in
#. DocType 'Payment Terms Template'
@@ -3949,7 +4023,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_payment_reconciliation_log_allocations/process_payment_reconciliation_log_allocations.json
#: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
#: erpnext/accounts/doctype/unreconcile_payment_entries/unreconcile_payment_entries.json
-#: erpnext/accounts/report/gross_profit/gross_profit.py:409
+#: erpnext/accounts/report/gross_profit/gross_profit.py:411
#: erpnext/public/js/utils/unreconcile.js:87
msgid "Allocated Amount"
msgstr ""
@@ -4001,7 +4075,7 @@ msgstr ""
#. Label of the allow_account_creation_against_child_company (Check) field in
#. DocType 'Company'
-#: erpnext/accounts/doctype/account/account.py:543
+#: erpnext/accounts/doctype/account/account.py:574
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:68
#: erpnext/setup/doctype/company/company.json
msgid "Allow Account Creation Against Child Company"
@@ -4076,15 +4150,15 @@ msgstr ""
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.js:9
msgid "Allow Multiple Material Consumption"
-msgstr "允許多種材料消耗"
+msgstr ""
#. Label of the allow_negative_stock (Check) field in DocType 'Item'
#. Label of the allow_negative_stock (Check) field in DocType 'Repost Item
#. Valuation'
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:217
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:229
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:222
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:234
msgid "Allow Negative Stock"
msgstr ""
@@ -4135,7 +4209,7 @@ msgstr ""
#. Label of the allow_rename_attribute_value (Check) field in DocType 'Item
#. Variant Settings'
-#: erpnext/controllers/item_variant.py:201
+#: erpnext/controllers/item_variant.py:263
#: erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
msgid "Allow Rename Attribute Value"
msgstr ""
@@ -4152,7 +4226,7 @@ msgstr ""
msgid "Allow Resetting Service Level Agreement"
msgstr ""
-#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:785
+#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:788
msgid "Allow Resetting Service Level Agreement from Support Settings."
msgstr ""
@@ -4217,8 +4291,10 @@ msgstr ""
#. Label of the allow_zero_valuation_rate (Check) field in DocType 'Purchase
#. Invoice Item'
#. Label of the allow_zero_valuation_rate (Check) field in DocType 'Sales
+#. Invoice Item'
#. Label of the allow_zero_valuation_rate (Check) field in DocType 'Delivery
#. Note Item'
+#. Label of the allow_zero_valuation_rate (Check) field in DocType 'Purchase
#. Receipt Item'
#. Label of the allow_zero_valuation_rate (Check) field in DocType 'Stock Entry
#. Detail'
@@ -4407,7 +4483,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.json
msgid "Allowed To Transact With"
-msgstr "允許與"
+msgstr ""
#. Label of the allowed_users (Table MultiSelect) field in DocType 'CRM
#. Settings'
@@ -4415,6 +4491,14 @@ msgstr "允許與"
msgid "Allowed Users"
msgstr ""
+#: erpnext/crm/doctype/crm_settings/crm_settings.py:59
+msgid "Allowed Users is not required as Frappe CRM is already installed on the site."
+msgstr ""
+
+#: erpnext/crm/doctype/crm_settings/crm_settings.js:17
+msgid "Allowed Users is required for data synchronization from remote Frappe CRM site."
+msgstr ""
+
#: erpnext/accounts/doctype/party_link/party_link.py:27
msgid "Allowed primary roles are 'Customer' and 'Supplier'. Please select one of these roles only."
msgstr ""
@@ -4458,17 +4542,17 @@ msgstr ""
msgid "Already Imported"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:1086
+#: erpnext/stock/doctype/pick_list/pick_list.py:1116
msgid "Already Picked"
msgstr ""
#: erpnext/stock/doctype/item_alternative/item_alternative.py:81
msgid "Already record exists for the item {0}"
-msgstr "已有記錄存在項目{0}"
+msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:132
msgid "Already set default in pos profile {0} for user {1}, kindly disabled default"
-msgstr "已經在用戶{1}的pos配置文件{0}中設置了默認值,請禁用默認值"
+msgstr ""
#: erpnext/stock/doctype/item/item.js:20
msgid "Also you can't switch back to FIFO after setting the valuation method to Moving Average for this item."
@@ -4484,7 +4568,7 @@ msgstr ""
#: erpnext/public/js/utils.js:604
#: erpnext/stock/doctype/stock_entry/stock_entry.js:344
msgid "Alternate Item"
-msgstr "替代項目"
+msgstr ""
#: erpnext/stock/report/item_where_used/item_where_used.py:425
msgid "Alternative For Item"
@@ -4508,9 +4592,9 @@ msgstr ""
#: erpnext/stock/doctype/item_alternative/item_alternative.py:37
msgid "Alternative item must not be same as item code"
-msgstr "替代項目不能與項目代碼相同"
+msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:381
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:382
msgid "Alternatively, you can download the template and fill your data in."
msgstr ""
@@ -4538,7 +4622,9 @@ msgstr ""
#. Label of the amount (Currency) field in DocType 'Payment Order Reference'
#. Label of the amount (Currency) field in DocType 'Payment Reconciliation
#. Allocation'
+#. Label of the amount (Currency) field in DocType 'Payment Reconciliation
#. Invoice'
+#. Label of the amount (Currency) field in DocType 'Payment Reconciliation
#. Payment'
#. Label of the amount (Currency) field in DocType 'Payment Reference'
#. Label of the grand_total (Currency) field in DocType 'Payment Request'
@@ -4557,27 +4643,33 @@ msgstr ""
#. Option for the 'Margin Type' (Select) field in DocType 'Purchase Invoice
#. Item'
#. Label of the tax_amount (Currency) field in DocType 'Purchase Taxes and
+#. Charges'
#. Option for the 'Margin Type' (Select) field in DocType 'Sales Invoice Item'
#. Label of the amount (Currency) field in DocType 'Sales Invoice Item'
#. Label of the amount (Currency) field in DocType 'Sales Invoice Payment'
#. Label of the grand_total (Currency) field in DocType 'Sales Invoice
#. Reference'
#. Label of the tax_amount (Currency) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the amount (Currency) field in DocType 'Share Balance'
#. Label of the amount (Currency) field in DocType 'Share Transfer'
#. Label of the amount (Currency) field in DocType 'Asset Capitalization
#. Service Item'
#. Label of the amount (Currency) field in DocType 'Asset Capitalization Stock
+#. Item'
#. Label of the amount (Currency) field in DocType 'Purchase Order Item'
#. Option for the 'Margin Type' (Select) field in DocType 'Purchase Order Item'
#. Label of the amount (Currency) field in DocType 'Purchase Order Item
#. Supplied'
#. Label of the amount (Currency) field in DocType 'Purchase Receipt Item
+#. Supplied'
#. Label of the amount (Currency) field in DocType 'Supplier Quotation Item'
#. Option for the 'Margin Type' (Select) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the amount (Currency) field in DocType 'Opportunity Item'
#. Label of the amount (Currency) field in DocType 'Prospect Opportunity'
#. Label of the amount_section (Section Break) field in DocType 'BOM Creator
+#. Item'
#. Label of the amount (Currency) field in DocType 'BOM Creator Item'
#. Label of the amount (Currency) field in DocType 'BOM Explosion Item'
#. Label of the amount (Currency) field in DocType 'BOM Item'
@@ -4591,21 +4683,30 @@ msgstr ""
#. Label of the amount (Currency) field in DocType 'Delivery Note Item'
#. Label of the amount (Currency) field in DocType 'Landed Cost Item'
#. Label of the amount (Currency) field in DocType 'Landed Cost Taxes and
+#. Charges'
#. Option for the 'Distribute Charges Based On' (Select) field in DocType
#. 'Landed Cost Voucher'
#. Label of the amount (Currency) field in DocType 'Material Request Item'
#. Label of the amount (Currency) field in DocType 'Purchase Receipt Item'
#. Option for the 'Margin Type' (Select) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the amount (Currency) field in DocType 'Stock Entry Detail'
#. Label of the amount (Currency) field in DocType 'Stock Reconciliation Item'
#. Label of the amount (Currency) field in DocType 'Subcontracting Inward Order
+#. Service Item'
#. Option for the 'Distribute Additional Costs Based On ' (Select) field in
#. DocType 'Subcontracting Order'
#. Label of the amount (Currency) field in DocType 'Subcontracting Order Item'
#. Label of the amount (Currency) field in DocType 'Subcontracting Order
+#. Service Item'
+#. Label of the amount (Currency) field in DocType 'Subcontracting Order
#. Supplied Item'
+#. Option for the 'Distribute Additional Costs Based On ' (Select) field in
#. DocType 'Subcontracting Receipt'
#. Label of the amount (Currency) field in DocType 'Subcontracting Receipt
+#. Item'
+#. Label of the amount (Currency) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: banking/src/components/features/BankReconciliation/BankClearanceSummary.tsx:169
#: banking/src/components/features/BankReconciliation/BankClearanceSummary.tsx:327
#: banking/src/components/features/BankReconciliation/BankTransactionUnreconcileModalBody.tsx:57
@@ -4621,7 +4722,7 @@ msgstr ""
#: erpnext/accounts/doctype/bank_statement_import_log_column_map/bank_statement_import_log_column_map.json
#: erpnext/accounts/doctype/budget_distribution/budget_distribution.json
#: erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.json
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:636
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:637
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json
@@ -4677,7 +4778,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
#: erpnext/manufacturing/doctype/work_order_additional_item/work_order_additional_item.json
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
-#: erpnext/public/js/controllers/transaction.js:558
+#: erpnext/public/js/controllers/transaction.js:571
#: erpnext/selling/doctype/quotation/quotation.js:315
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -4725,8 +4826,10 @@ msgstr ""
#. Label of the base_amount (Currency) field in DocType 'POS Invoice Item'
#. Label of the base_amount (Currency) field in DocType 'Purchase Invoice Item'
#. Label of the base_tax_amount (Currency) field in DocType 'Purchase Taxes and
+#. Charges'
#. Label of the base_amount (Currency) field in DocType 'Sales Invoice Item'
#. Label of the base_tax_amount (Currency) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the base_amount (Currency) field in DocType 'Purchase Order Item'
#. Label of the base_amount (Currency) field in DocType 'Supplier Quotation
#. Item'
@@ -4736,6 +4839,7 @@ msgstr ""
#. Label of the base_amount (Currency) field in DocType 'Sales Order Item'
#. Label of the base_amount (Currency) field in DocType 'Delivery Note Item'
#. Label of the base_amount (Currency) field in DocType 'Landed Cost Taxes and
+#. Charges'
#. Label of the amount (Currency) field in DocType 'Landed Cost Vendor Invoice'
#. Label of the base_amount (Currency) field in DocType 'Purchase Receipt Item'
#: erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json
@@ -4779,7 +4883,9 @@ msgstr ""
#. Invoice'
#. Label of the amount_eligible_for_commission (Currency) field in DocType
#. 'Sales Invoice'
+#. Label of the amount_eligible_for_commission (Currency) field in DocType
#. 'Sales Order'
+#. Label of the amount_eligible_for_commission (Currency) field in DocType
#. 'Delivery Note'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -4851,11 +4957,11 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1249
msgid "Amount {0} {1} transferred from {2} to {3}"
-msgstr "金額{0} {1}從轉移{2}到{3}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1255
msgid "Amount {0} {1} {2} {3}"
-msgstr "金額{0} {1} {2} {3}"
+msgstr ""
#. Label of the amounts_section (Section Break) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
@@ -4882,16 +4988,20 @@ msgstr ""
msgid "Ampere-Second"
msgstr ""
-#: erpnext/controllers/trends.py:283 erpnext/controllers/trends.py:295
-#: erpnext/controllers/trends.py:304
+#: erpnext/controllers/trends.py:295 erpnext/controllers/trends.py:307
+#: erpnext/controllers/trends.py:316
msgid "Amt"
-msgstr "AMT"
+msgstr ""
#. Description of a DocType
#: erpnext/setup/doctype/item_group/item_group.json
msgid "An Item Group is a way to classify items based on types."
msgstr ""
+#: erpnext/crm/doctype/appointment/appointment.py:74
+msgid "An appointment booked through the portal can only be opened via email verification."
+msgstr ""
+
#. Description of the 'Notify by email on creation of automatic Material
#. Request' (Check) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -4903,11 +5013,11 @@ msgid "An error has been appeared while reposting item valuation via {0}"
msgstr ""
#: erpnext/public/js/controllers/buying.js:382
-#: erpnext/public/js/utils/sales_common.js:489
+#: erpnext/public/js/utils/sales_common.js:487
msgid "An error occurred during the update process"
-msgstr "更新過程中發生錯誤"
+msgstr ""
-#: erpnext/stock/reorder_item.py:378
+#: erpnext/stock/reorder_item.py:380
msgid "An error occurred for certain Items while creating Material Requests based on Re-order level. Please rectify these issues :"
msgstr ""
@@ -4964,13 +5074,13 @@ msgstr ""
msgid "Another Cost Center Allocation record {0} applicable from {1}, hence this allocation will be applicable upto {2}"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:885
+#: erpnext/accounts/doctype/payment_request/payment_request.py:902
msgid "Another Payment Request is already processed"
msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person.py:123
msgid "Another Sales Person {0} exists with the same Employee id"
-msgstr "另外銷售人員{0}存在具有相同員工ID"
+msgstr ""
#. Option for the 'Transaction Type' (Select) field in DocType 'Bank
#. Transaction Rule'
@@ -5103,7 +5213,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:10
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:10
msgid "Application of Funds (Assets)"
-msgstr "基金中的應用(資產)"
+msgstr ""
#: erpnext/templates/includes/order/order_taxes.html:70
msgid "Applied Coupon Code"
@@ -5112,6 +5222,7 @@ msgstr ""
#. Description of the 'Minimum Value' (Float) field in DocType 'Quality
#. Inspection Reading'
#. Description of the 'Maximum Value' (Float) field in DocType 'Quality
+#. Inspection Reading'
#: erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
msgid "Applied on each reading."
msgstr ""
@@ -5171,8 +5282,8 @@ msgstr ""
#. Label of the apply_discount_on_rate (Check) field in DocType 'Pricing Rule'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:190
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:199
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:208
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:217
msgid "Apply Discount on Discounted Rate"
msgstr ""
@@ -5186,6 +5297,7 @@ msgstr ""
#. Rule'
#. Label of the apply_multiple_pricing_rules (Check) field in DocType
#. 'Promotional Scheme Price Discount'
+#. Label of the apply_multiple_pricing_rules (Check) field in DocType
#. 'Promotional Scheme Product Discount'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
@@ -5269,12 +5381,24 @@ msgstr ""
msgid "Apply to Document"
msgstr ""
+#. Description of the 'Additional Discount Amount' (Currency) field in DocType
+#. 'Sales Order'
+#: erpnext/selling/doctype/sales_order/sales_order.json
+msgid "Applying a Discount Amount? When this Sales Order is partially fulfilled through multiple Delivery Notes and Sales Invoices, the Discount Amount is allocated on a FIFO basis. The earlier transactions receive a larger share of the discount. To spread the discount proportionally across item prices, use Additional Discount Percentage instead."
+msgstr ""
+
#. Name of a DocType
#. Label of a Workspace Sidebar Item
#: erpnext/crm/doctype/appointment/appointment.json
#: erpnext/workspace_sidebar/crm.json
msgid "Appointment"
-msgstr "約定"
+msgstr ""
+
+#. Label of the success_details (Section Break) field in DocType 'Appointment
+#. Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Appointment Booking Portal Settings"
+msgstr ""
#. Name of a DocType
#. Label of a Workspace Sidebar Item
@@ -5288,9 +5412,13 @@ msgstr ""
msgid "Appointment Booking Slots"
msgstr ""
-#: erpnext/crm/doctype/appointment/appointment.py:95
+#: erpnext/crm/doctype/appointment/appointment.py:181
msgid "Appointment Confirmation"
-msgstr "預約確認"
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:189
+msgid "Appointment Confirmed"
+msgstr ""
#: erpnext/www/book_appointment/index.js:237
msgid "Appointment Created Successfully"
@@ -5308,21 +5436,55 @@ msgstr ""
msgid "Appointment Duration (In Minutes)"
msgstr ""
-#: erpnext/www/book_appointment/index.py:23
-msgid "Appointment Scheduling Disabled"
+#. Label of the agent_detail_section (Section Break) field in DocType
+#. 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Appointment Scheduling"
msgstr ""
#: erpnext/www/book_appointment/index.py:24
+msgid "Appointment Scheduling Disabled"
+msgstr ""
+
+#: erpnext/www/book_appointment/index.py:25
msgid "Appointment Scheduling has been disabled for this site"
msgstr ""
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:101
+msgid "Appointment Scheduling needs to be enabled for Appointment Booking through portal."
+msgstr ""
+
#. Label of the appointment_with (Link) field in DocType 'Appointment'
#: erpnext/crm/doctype/appointment/appointment.json
msgid "Appointment With"
msgstr ""
-#: erpnext/crm/doctype/appointment/appointment.py:101
-msgid "Appointment was created. But no lead was found. Please check the email to confirm"
+#: erpnext/crm/doctype/appointment/appointment.py:86
+msgid "Appointment can only be scheduled up to {0} day(s) in advance."
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:79
+msgid "Appointment cannot be scheduled for a past time."
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:98
+msgid "Appointment cannot be scheduled on a holiday."
+msgstr ""
+
+#: erpnext/www/book_appointment/verify/index.py:28
+msgid "Appointment has been closed. Please book the appointment again."
+msgstr ""
+
+#: erpnext/www/book_appointment/verify/index.py:33
+msgid "Appointment is already verified."
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:116
+msgid "Appointment must be scheduled within the available slot timings."
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:66
+msgid "Appointments created manually cannot have 'Unverified' status."
msgstr ""
#. Label of the approving_role (Link) field in DocType 'Authorization Rule'
@@ -5332,7 +5494,7 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:79
msgid "Approving Role cannot be same as role the rule is Applicable To"
-msgstr "審批角色作為角色的規則適用於不能相同"
+msgstr ""
#. Label of the approving_user (Link) field in DocType 'Authorization Rule'
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
@@ -5341,7 +5503,7 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:77
msgid "Approving User cannot be same as user the rule is Applicable To"
-msgstr "批准用戶作為用戶的規則適用於不能相同"
+msgstr ""
#. Description of the 'Enable Fuzzy Matching' (Check) field in DocType
#. 'Accounts Settings'
@@ -5362,7 +5524,7 @@ msgstr ""
msgid "Are you sure you want to clear all demo data?"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:480
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:488
msgid "Are you sure you want to delete this Item?"
msgstr ""
@@ -5424,7 +5586,7 @@ msgstr ""
#: 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 ""
#. Description of the 'Finished Good Quantity ' (Float) field in DocType 'Stock
#. Entry'
@@ -5432,32 +5594,32 @@ msgstr "隨著對日"
msgid "As per Stock UOM"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:189
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:207
msgid "As the field {0} is enabled, the field {1} is mandatory."
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:197
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:215
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:1094
+#: erpnext/stock/doctype/item/item.py:1104
msgid "As there are existing submitted transactions against item {0}, you can not change the value of {1}."
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:242
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:247
msgid "As there are reserved stock, you cannot disable {0}."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1090
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1091
msgid "As there are sufficient Sub Assembly Items, Work Order is not required for Warehouse {0}."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1836
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1849
msgid "As there are sufficient raw materials, Material Request is not required for Warehouse {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:216
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:228
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:221
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:233
msgid "As {0} is enabled, you can not enable {1}."
msgstr ""
@@ -5508,7 +5670,7 @@ msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset"
-msgstr "財富"
+msgstr ""
#. Label of the asset_account (Link) field in DocType 'Share Transfer'
#: erpnext/accounts/doctype/share_transfer/share_transfer.json
@@ -5578,12 +5740,12 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Category"
-msgstr "資產類別"
+msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_category_account/asset_category_account.json
msgid "Asset Category Account"
-msgstr "資產類別的科目"
+msgstr ""
#. Label of the asset_category_name (Data) field in DocType 'Asset Category'
#: erpnext/assets/doctype/asset_category/asset_category.json
@@ -5592,7 +5754,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:359
msgid "Asset Category is mandatory for Fixed Asset item"
-msgstr "資產類別是強制性的固定資產項目"
+msgstr ""
#. Label of the depreciation_cost_center (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -5606,7 +5768,7 @@ msgstr ""
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Depreciation Ledger"
-msgstr "資產減值總帳"
+msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -5641,7 +5803,7 @@ msgstr ""
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Depreciations and Balances"
-msgstr "資產折舊和平衡"
+msgstr ""
#. Label of the asset_details (Section Break) field in DocType 'Serial No'
#: erpnext/stock/doctype/serial_no/serial_no.json
@@ -5656,7 +5818,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_finance_book/asset_finance_book.json
msgid "Asset Finance Book"
-msgstr "資產融資書"
+msgstr ""
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:477
msgid "Asset ID"
@@ -5682,7 +5844,7 @@ msgstr ""
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Maintenance"
-msgstr "資產維護"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Assets Workspace
@@ -5691,12 +5853,12 @@ msgstr "資產維護"
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Maintenance Log"
-msgstr "資產維護日誌"
+msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.json
msgid "Asset Maintenance Task"
-msgstr "資產維護任務"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Assets Workspace
@@ -5705,7 +5867,7 @@ msgstr "資產維護任務"
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Maintenance Team"
-msgstr "資產維護團隊"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Assets Workspace
@@ -5715,7 +5877,7 @@ msgstr "資產維護團隊"
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:203
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Movement"
-msgstr "資產運動"
+msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_movement_item/asset_movement_item.json
@@ -5724,7 +5886,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:1187
msgid "Asset Movement record {0} created"
-msgstr "資產運動記錄{0}創建"
+msgstr ""
#. Label of the asset_name (Data) field in DocType 'Asset'
#. Label of the target_asset_name (Data) field in DocType 'Asset
@@ -5746,7 +5908,7 @@ msgstr "資產運動記錄{0}創建"
#: erpnext/assets/doctype/asset_repair/asset_repair.json
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:483
msgid "Asset Name"
-msgstr "資產名稱"
+msgstr ""
#. Label of the asset_naming_series (Select) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -5776,7 +5938,7 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:38
#: erpnext/setup/doctype/company/company.json
msgid "Asset Received But Not Billed"
-msgstr "已收到但未收費的資產"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Assets Workspace
@@ -5785,13 +5947,14 @@ msgstr "已收到但未收費的資產"
#. Label of the asset_repair (Link) field in DocType 'Stock Entry'
#. Label of a Workspace Sidebar Item
#: erpnext/assets/doctype/asset/asset.js:113
+#: erpnext/assets/doctype/asset/asset.js:152
#: erpnext/assets/doctype/asset_repair/asset_repair.json
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Repair"
-msgstr "資產修復"
+msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.json
@@ -5835,8 +5998,7 @@ msgstr ""
#. Label of the asset_value (Currency) field in DocType 'Asset Capitalization
#. Asset Item'
-#: erpnext/assets/dashboard_fixtures.py:180
-#: erpnext/assets/doctype/asset/asset.js:517
+#: erpnext/assets/doctype/asset/asset.js:525
#: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:209
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:460
@@ -5852,14 +6014,13 @@ msgstr ""
#: erpnext/assets/workspace/assets/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Asset Value Adjustment"
-msgstr "資產價值調整"
+msgstr ""
#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:53
msgid "Asset Value Adjustment cannot be posted before Asset's purchase date {0}."
msgstr ""
#. Label of a chart in the Assets Workspace
-#: erpnext/assets/dashboard_fixtures.py:56
#: erpnext/assets/workspace/assets/assets.json
msgid "Asset Value Analytics"
msgstr ""
@@ -5870,7 +6031,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:736
msgid "Asset cannot be cancelled, as it is already {0}"
-msgstr "資產不能被取消,因為它已經是{0}"
+msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:398
msgid "Asset cannot be scrapped before the last depreciation entry."
@@ -5896,7 +6057,7 @@ msgstr ""
msgid "Asset issued to Employee {0}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:179
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:182
msgid "Asset out of order due to Asset Repair {0}"
msgstr ""
@@ -5912,7 +6073,7 @@ msgstr ""
msgid "Asset restored after Asset Capitalization {0} was cancelled"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1569
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1575
msgid "Asset returned"
msgstr ""
@@ -5922,10 +6083,10 @@ msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:448
msgid "Asset scrapped via Journal Entry {0}"
-msgstr "通過資產日記帳分錄報廢{0}"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1569
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1572
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1575
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1578
msgid "Asset sold"
msgstr ""
@@ -5941,13 +6102,13 @@ msgstr ""
msgid "Asset updated after being split into Asset {0}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:442
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:445
msgid "Asset updated due to Asset Repair {0} {1}."
msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:380
msgid "Asset {0} cannot be scrapped, as it is already {1}"
-msgstr "資產{0}不能被廢棄,因為它已經是{1}"
+msgstr ""
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:199
msgid "Asset {0} does not belong to Item {1}"
@@ -5955,7 +6116,7 @@ msgstr ""
#: erpnext/assets/doctype/asset_movement/asset_movement.py:45
msgid "Asset {0} does not belong to company {1}"
-msgstr "資產{0}不屬於公司{1}"
+msgstr ""
#: erpnext/assets/doctype/asset_movement/asset_movement.py:105
msgid "Asset {0} does not belong to the custodian {1}"
@@ -5966,7 +6127,7 @@ msgid "Asset {0} does not belong to the location {1}"
msgstr ""
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:650
-#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:743
+#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:750
msgid "Asset {0} does not exist"
msgstr ""
@@ -5988,9 +6149,9 @@ msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:378
msgid "Asset {0} must be submitted"
-msgstr "資產{0}必須提交"
+msgstr ""
-#: erpnext/controllers/buying_controller.py:1093
+#: erpnext/controllers/buying_controller.py:1112
msgid "Asset {assets_link} created for {item_code}"
msgstr ""
@@ -6015,24 +6176,24 @@ msgstr ""
#. Title of a Workspace Sidebar
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/accounts/doctype/finance_book/finance_book_dashboard.py:9
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:251
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:260
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json
#: erpnext/assets/doctype/asset_movement/asset_movement.json
#: erpnext/assets/workspace/assets/assets.json erpnext/desktop_icon/assets.json
#: erpnext/workspace_sidebar/assets.json
msgid "Assets"
-msgstr "資產"
+msgstr ""
#. Title of the Module Onboarding 'Asset Onboarding'
#: erpnext/assets/module_onboarding/asset_onboarding/asset_onboarding.json
msgid "Assets Setup"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1111
+#: erpnext/controllers/buying_controller.py:1130
msgid "Assets not created for {item_code}. You will have to create asset manually."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1098
+#: erpnext/controllers/buying_controller.py:1117
msgid "Assets {assets_link} created for {item_code}"
msgstr ""
@@ -6060,15 +6221,15 @@ msgstr ""
msgid "Associate"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:138
+#: erpnext/stock/doctype/pick_list/pick_list.py:140
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 ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:163
+#: erpnext/stock/doctype/pick_list/pick_list.py:165
msgid "At Row #{0}: The picked quantity {1} for the item {2} is greater than available stock {3} in the warehouse {4}."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1486
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1552
msgid "At Row {0}: In Serial and Batch Bundle {1} must have docstatus as 1 and not 0"
msgstr ""
@@ -6084,24 +6245,24 @@ msgstr ""
msgid "At least one invoice has to be selected."
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:168
+#: erpnext/controllers/sales_and_purchase_return.py:186
msgid "At least one item should be entered with negative quantity in return document"
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:531
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:567
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:568
msgid "At least one mode of payment is required for POS invoice."
-msgstr "付款中的至少一個模式需要POS發票。"
+msgstr ""
#: erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py:35
msgid "At least one of the Applicable Modules should be selected"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:204
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:222
msgid "At least one of the Selling or Buying must be selected"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:417
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:437
msgid "At least one raw material item must be present in the stock entry for the type {0}"
msgstr ""
@@ -6109,11 +6270,11 @@ msgstr ""
msgid "At least one row is required for a financial report template"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:981
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1002
msgid "At least one warehouse is mandatory"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:884
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:905
msgid "At row #{0}: the Difference Account must not be a Stock type account, please change the Account Type for the account {1} or select a different account"
msgstr ""
@@ -6121,11 +6282,11 @@ msgstr ""
msgid "At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:895
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:916
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:1234
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1300
msgid "At row {0}: Batch No is mandatory for Item {1}"
msgstr ""
@@ -6133,15 +6294,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:1219
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1285
msgid "At row {0}: Qty is mandatory for the batch {1}"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1226
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1292
msgid "At row {0}: Serial No is mandatory for Item {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:716
+#: erpnext/controllers/stock_controller.py:735
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 ""
@@ -6205,33 +6366,33 @@ msgstr ""
msgid "Attribute Value"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:884
+#: erpnext/stock/doctype/item/item.py:894
msgid "Attribute Value {0} is not valid for the selected attribute {1}."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1030
+#: erpnext/stock/doctype/item/item.py:1040
msgid "Attribute table is mandatory"
-msgstr "屬性表是強制性的"
+msgstr ""
-#: erpnext/stock/doctype/item_attribute/item_attribute.py:110
+#: erpnext/stock/doctype/item_attribute/item_attribute.py:112
msgid "Attribute value: {0} must appear only once"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:873
+#: erpnext/stock/doctype/item/item.py:883
msgid "Attribute {0} is disabled."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:861
+#: erpnext/stock/doctype/item/item.py:871
msgid "Attribute {0} is not valid for the selected template."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1034
+#: erpnext/stock/doctype/item/item.py:1044
msgid "Attribute {0} selected multiple times in Attributes Table"
-msgstr "屬性{0}多次選擇在屬性表"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:962
+#: erpnext/stock/doctype/item/item.py:972
msgid "Attributes"
-msgstr "屬性"
+msgstr ""
#. Name of a role
#: erpnext/accounts/doctype/account/account.json
@@ -6252,7 +6413,7 @@ msgstr "屬性"
#: erpnext/regional/doctype/south_africa_vat_settings/south_africa_vat_settings.json
#: erpnext/setup/doctype/company/company.json
msgid "Auditor"
-msgstr "核數師"
+msgstr ""
#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py:68
msgid "Authentication Failed"
@@ -6267,16 +6428,16 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/authorization_control/authorization_control.json
msgid "Authorization Control"
-msgstr "授權控制"
+msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
msgid "Authorization Rule"
-msgstr "授權規則"
+msgstr ""
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:27
msgid "Authorized Signatory"
-msgstr "授權簽字人"
+msgstr ""
#. Label of the value (Float) field in DocType 'Authorization Rule'
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
@@ -6326,9 +6487,9 @@ msgstr ""
msgid "Auto Material Request"
msgstr ""
-#: erpnext/stock/reorder_item.py:329
+#: erpnext/stock/reorder_item.py:331
msgid "Auto Material Requests Generated"
-msgstr "汽車材料的要求生成"
+msgstr ""
#. Label of the auto_opt_in (Check) field in DocType 'Loyalty Program'
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
@@ -6364,7 +6525,19 @@ msgstr ""
msgid "Auto Repeat Detail"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:201
+#. Label of the repost_incorrect_valuation_entries (Check) field in DocType
+#. 'Stock Reposting Settings'
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json
+msgid "Auto Repost Incorrect Valuation Entries (Weekly)"
+msgstr ""
+
+#. Label of the auto_reposting_section (Section Break) field in DocType 'Stock
+#. Reposting Settings'
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json
+msgid "Auto Reposting of Incorrect Valuation"
+msgstr ""
+
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:208
msgid "Auto Tax Settings Error"
msgstr ""
@@ -6425,9 +6598,9 @@ msgid "Auto reconcile Payments"
msgstr ""
#: erpnext/public/js/controllers/buying.js:377
-#: erpnext/public/js/utils/sales_common.js:484
+#: erpnext/public/js/utils/sales_common.js:482
msgid "Auto repeat document updated"
-msgstr "自動重複文件更新"
+msgstr ""
#. Label of the auto_reserve_serial_and_batch (Check) field in DocType 'Stock
#. Settings'
@@ -6555,7 +6728,7 @@ msgstr ""
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
#: erpnext/stock/report/stock_ageing/stock_ageing.py:214
msgid "Available Qty"
-msgstr "可用數量"
+msgstr ""
#. Label of the required_qty (Float) field in DocType 'Purchase Receipt Item
#. Supplied'
@@ -6603,7 +6776,9 @@ msgstr ""
#. Label of the available_quantity_section (Section Break) field in DocType
#. 'Sales Invoice Item'
+#. Label of the available_quantity_section (Section Break) field in DocType
#. 'Quotation Item'
+#. Label of the available_quantity_section (Section Break) field in DocType
#. 'Sales Order Item'
#. Label of the qty (Float) field in DocType 'Quick Stock Balance'
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -6629,7 +6804,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Available Stock for Packing Items"
-msgstr "可用庫存包裝項目"
+msgstr ""
#. Label of the available_for_use_date (Date) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -6640,7 +6815,7 @@ msgstr ""
msgid "Available for use date is required"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1231
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1252
msgid "Available quantity is {0}, you need {1}"
msgstr ""
@@ -6650,13 +6825,13 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:492
msgid "Available-for-use Date should be after purchase date"
-msgstr "可供使用的日期應在購買日期之後"
+msgstr ""
#: erpnext/stock/report/stock_ageing/stock_ageing.py:215
#: erpnext/stock/report/stock_ageing/stock_ageing.py:249
#: erpnext/stock/report/stock_balance/stock_balance.py:587
msgid "Average Age"
-msgstr "平均年齡"
+msgstr ""
#: erpnext/projects/report/project_summary/project_summary.py:124
msgid "Average Completion"
@@ -6695,7 +6870,7 @@ msgstr ""
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:63
msgid "Avg Daily Outgoing"
-msgstr "平均每日傳出"
+msgstr ""
#. Label of the avg_rate (Float) field in DocType 'Serial and Batch Bundle'
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
@@ -6703,21 +6878,21 @@ msgid "Avg Rate"
msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:154
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:369
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:372
msgid "Avg Rate (Balance Stock)"
msgstr ""
#: erpnext/stock/report/item_variant_details/item_variant_details.py:96
msgid "Avg. Buying Price List Rate"
-msgstr "平均。買價格表價格"
+msgstr ""
#: erpnext/stock/report/item_variant_details/item_variant_details.py:102
msgid "Avg. Selling Price List Rate"
-msgstr "平均。出售價目表率"
+msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:347
+#: erpnext/accounts/report/gross_profit/gross_profit.py:349
msgid "Avg. Selling Rate"
-msgstr "平均。賣出價"
+msgstr ""
#. Option for the 'Blood Group' (Select) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -6772,9 +6947,9 @@ msgstr ""
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:109
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1458
-#: erpnext/stock/doctype/material_request/material_request.js:351
+#: erpnext/stock/doctype/material_request/material_request.js:352
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:810
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:786
#: erpnext/stock/report/bom_search/bom_search.py:38
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:525
@@ -6842,11 +7017,13 @@ msgstr ""
#. Label of the bom_detail_no (Data) field in DocType 'Purchase Order Item
#. Supplied'
#. Label of the bom_detail_no (Data) field in DocType 'Purchase Receipt Item
+#. Supplied'
#. Label of the bom_detail_no (Data) field in DocType 'Subcontracting Inward
#. Order Received Item'
#. Label of the bom_detail_no (Data) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the bom_detail_no (Data) 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_inward_order_received_item/subcontracting_inward_order_received_item.json
@@ -6863,7 +7040,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
msgid "BOM Explosion Item"
-msgstr "BOM展開項目"
+msgstr ""
#: erpnext/manufacturing/report/bom_operations_time/bom_operations_time.js:20
#: erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py:101
@@ -6878,7 +7055,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
msgid "BOM Item"
-msgstr "BOM項目"
+msgstr ""
#: erpnext/manufacturing/report/bom_explorer/bom_explorer.py:71
#: erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py:174
@@ -6891,6 +7068,7 @@ msgstr ""
#. Item'
#. Label of the bom_no (Link) field in DocType 'Production Plan Item'
#. Label of the bom_no (Link) field in DocType 'Production Plan Sub Assembly
+#. Item'
#. Label of the bom_no (Link) field in DocType 'Work Order'
#. Label of the bom_no (Link) field in DocType 'Sales Order Item'
#. Label of the bom_no (Link) field in DocType 'Material Request Item'
@@ -6912,7 +7090,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "BOM No"
-msgstr "BOM No."
+msgstr ""
#. Label of the bom_no (Link) field in DocType 'Work Order Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
@@ -6929,7 +7107,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
#: erpnext/manufacturing/doctype/routing/routing.json
msgid "BOM Operation"
-msgstr "BOM的操作"
+msgstr ""
#. Name of a report
#. Label of a Link in the Manufacturing Workspace
@@ -6946,7 +7124,7 @@ msgstr ""
#: erpnext/stock/report/item_prices/item_prices.py:60
msgid "BOM Rate"
-msgstr "BOM率"
+msgstr ""
#. Label of a Link in the Manufacturing Workspace
#. Name of a report
@@ -6955,7 +7133,7 @@ msgstr "BOM率"
#: erpnext/stock/report/bom_search/bom_search.json
#: erpnext/workspace_sidebar/manufacturing.json
msgid "BOM Search"
-msgstr "BOM搜索"
+msgstr ""
#. Name of a DocType
#. Label of the bom_secondary_item (Data) field in DocType 'Stock Entry Detail'
@@ -7002,7 +7180,7 @@ msgstr ""
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/workspace_sidebar/manufacturing.json
msgid "BOM Update Tool"
-msgstr "BOM更新工具"
+msgstr ""
#. Description of a DocType
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.json
@@ -7020,19 +7198,19 @@ msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.json
msgid "BOM Variance Report"
-msgstr "BOM差異報告"
+msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_website_item/bom_website_item.json
msgid "BOM Website Item"
-msgstr "BOM網站項目"
+msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_website_operation/bom_website_operation.json
msgid "BOM Website Operation"
-msgstr "BOM網站運營"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2758
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2834
msgid "BOM and Finished Good Quantity is mandatory for Disassembly"
msgstr ""
@@ -7042,10 +7220,10 @@ msgstr ""
msgid "BOM and Production"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:386
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:862
+#: erpnext/stock/doctype/material_request/material_request.js:387
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:838
msgid "BOM does not contain any stock item"
-msgstr "BOM不包含任何庫存項目"
+msgstr ""
#: erpnext/manufacturing/doctype/bom_update_log/bom_updation_utils.py:85
msgid "BOM recursion: {0} cannot be child of {1}"
@@ -7057,15 +7235,15 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1541
msgid "BOM {0} does not belong to Item {1}"
-msgstr "BOM {0}不屬於項目{1}"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1523
msgid "BOM {0} must be active"
-msgstr "BOM {0}必須是積極的"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1526
msgid "BOM {0} must be submitted"
-msgstr "BOM {0}必須提交"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:878
msgid "BOM {0} not found for the item {1}"
@@ -7138,15 +7316,15 @@ msgstr ""
#: erpnext/accounts/report/sales_register/sales_register.py:292
#: erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py:71
msgid "Balance"
-msgstr "餘額"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:40
msgid "Balance (Dr - Cr)"
-msgstr "平衡(Dr - Cr)"
+msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:726
msgid "Balance ({0})"
-msgstr "餘額({0})"
+msgstr ""
#. Label of the balance_in_account_currency (Currency) field in DocType
#. 'Exchange Rate Revaluation Account'
@@ -7164,9 +7342,9 @@ msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:126
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:84
#: erpnext/stock/report/stock_balance/stock_balance.py:515
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:332
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:335
msgid "Balance Qty"
-msgstr "餘額數量"
+msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.py:631
msgid "Balance Qty (Alt UOM)"
@@ -7194,11 +7372,11 @@ msgstr ""
#: erpnext/accounts/doctype/process_period_closing_voucher_detail/process_period_closing_voucher_detail.json
#: erpnext/accounts/report/balance_sheet/balance_sheet.json
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
-#: erpnext/public/js/financial_statements.js:327
+#: erpnext/public/js/financial_statements.js:347
#: erpnext/setup/doctype/email_digest/email_digest.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Balance Sheet"
-msgstr "資產負債表"
+msgstr ""
#. Label of the bs_closing_balance (JSON) field in DocType 'Process Period
#. Closing Voucher'
@@ -7214,6 +7392,10 @@ msgstr ""
msgid "Balance Sheet Summary"
msgstr ""
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:284
+msgid "Balance Sheet requires {0} to be synced to DuckDB"
+msgstr ""
+
#: erpnext/stock/page/warehouse_capacity_summary/warehouse_capacity_summary_header.html:13
msgid "Balance Stock Qty"
msgstr ""
@@ -7233,13 +7415,13 @@ msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:174
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:86
#: erpnext/stock/report/stock_balance/stock_balance.py:522
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:389
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:392
msgid "Balance Value"
-msgstr "餘額"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:344
msgid "Balance for Account {0} must always be {1}"
-msgstr "科目{0}的餘額必須始終為{1}"
+msgstr ""
#. Label of the balance_must_be (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -7278,7 +7460,7 @@ msgstr ""
#: erpnext/setup/doctype/employee/employee.json
#: erpnext/workspace_sidebar/banking.json
msgid "Bank"
-msgstr "銀行"
+msgstr ""
#. Label of the bank_cash_account (Link) field in DocType 'Payment
#. Reconciliation'
@@ -7326,7 +7508,7 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/banking.json
msgid "Bank Account"
-msgstr "銀行帳戶"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/bank_account_balance/bank_account_balance.json
@@ -7335,6 +7517,7 @@ msgstr ""
#. Label of the bank_account_details (Section Break) field in DocType 'Payment
#. Order Reference'
+#. Label of the bank_account_details (Section Break) field in DocType 'Payment
#. Request'
#: erpnext/accounts/doctype/payment_order_reference/payment_order_reference.json
#: erpnext/accounts/doctype/payment_request/payment_request.json
@@ -7379,7 +7562,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:15
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:20
msgid "Bank Accounts"
-msgstr "銀行帳戶"
+msgstr ""
#. Label of the bank_balance (Check) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
@@ -7421,7 +7604,7 @@ msgstr ""
#: banking/src/pages/BankReconciliation.tsx:119
#: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.json
msgid "Bank Clearance Summary"
-msgstr "銀行結算摘要"
+msgstr ""
#. Label of the credit_balance (Check) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
@@ -7437,9 +7620,9 @@ msgstr ""
msgid "Bank Details"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:260
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:263
msgid "Bank Draft"
-msgstr "銀行匯票"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankEntryModalContent.tsx:98
msgid "Bank Entries Created"
@@ -7482,7 +7665,7 @@ msgstr ""
#: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.json
#: erpnext/workspace_sidebar/banking.json
msgid "Bank Guarantee"
-msgstr "銀行擔保"
+msgstr ""
#. Label of the bank_guarantee_number (Data) field in DocType 'Bank Guarantee'
#: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.json
@@ -7506,7 +7689,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:179
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:309
msgid "Bank Overdraft Account"
-msgstr "銀行透支戶口"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/banking.json
@@ -7521,7 +7704,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.json
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Bank Reconciliation Statement"
-msgstr "銀行對帳表"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Invoicing Workspace
@@ -7555,7 +7738,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:44
msgid "Bank Statement balance as per General Ledger"
-msgstr "銀行對賬單餘額按總帳"
+msgstr ""
#. Name of a DocType
#. Option for the 'Reference Type' (Select) field in DocType 'Journal Entry
@@ -7618,9 +7801,9 @@ msgstr ""
msgid "Bank Transactions"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:584
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:587
msgid "Bank account cannot be named as {0}"
-msgstr "銀行科目不能命名為{0}"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankEntryModalContent.tsx:676
msgid "Bank account credit for withdrawal"
@@ -7670,7 +7853,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/industry_type.txt:8
#: erpnext/workspace_sidebar/banking.json
msgid "Banking"
-msgstr "銀行業"
+msgstr ""
#. Label of the barcode_type (Select) field in DocType 'Item Barcode'
#: erpnext/stock/doctype/item_barcode/item_barcode.json
@@ -7679,11 +7862,11 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:527
msgid "Barcode {0} already used in Item {1}"
-msgstr "條碼{0}已經用在項目{1}"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:542
msgid "Barcode {0} is not a valid {1} code"
-msgstr "條形碼{0}不是有效的{1}代碼"
+msgstr ""
#. Label of the sb_barcodes (Section Break) field in DocType 'Item'
#. Label of the barcodes (Table) field in DocType 'Item'
@@ -7784,10 +7967,10 @@ msgstr ""
#. Label of the based_on_payment_terms (Check) field in DocType 'Process
#. Statement Of Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:131
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:108
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:153
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:126
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:134
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:111
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:156
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:129
msgid "Based On Payment Terms"
msgstr ""
@@ -7838,14 +8021,14 @@ msgstr ""
#: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:34
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:80
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:158
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:419
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:182
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:422
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:191
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:80
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.js:19
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:32
#: erpnext/stock/workspace/stock/stock.json
msgid "Batch"
-msgstr "批量"
+msgstr ""
#. Label of the description (Small Text) field in DocType 'Batch'
#: erpnext/stock/doctype/batch/batch.json
@@ -7869,7 +8052,7 @@ msgstr ""
#: erpnext/stock/doctype/batch/batch.py:128
msgid "Batch ID is mandatory"
-msgstr "批號是必需的"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -7878,7 +8061,7 @@ msgstr "批號是必需的"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Batch Item Expiry Status"
-msgstr "批處理項到期狀態"
+msgstr ""
#. Label of the section_break_gnhq (Section Break) field in DocType 'Stock
#. Settings'
@@ -7919,8 +8102,8 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.json
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.js:89
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:115
-#: erpnext/public/js/controllers/transaction.js:2912
-#: erpnext/public/js/utils/barcode_scanner.js:281
+#: erpnext/public/js/controllers/transaction.js:2901
+#: erpnext/public/js/utils/barcode_scanner.js:286
#: erpnext/public/js/utils/serial_no_batch_selector.js:449
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/item_price/item_price.json
@@ -7948,13 +8131,13 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
#: erpnext/workspace_sidebar/stock.json
msgid "Batch No"
-msgstr "批號"
+msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1237
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1303
msgid "Batch No is mandatory"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3520
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3597
msgid "Batch No {0} does not exists"
msgstr ""
@@ -7962,7 +8145,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:490
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:541
msgid "Batch No {0} is not present in the original {1} {2}, hence you can't return it against the {1} {2}"
msgstr ""
@@ -7977,11 +8160,11 @@ msgstr ""
msgid "Batch Nos"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2059
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2125
msgid "Batch Nos are created successfully"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:1196
+#: erpnext/controllers/sales_and_purchase_return.py:1214
msgid "Batch Not Available for Return"
msgstr ""
@@ -8031,7 +8214,7 @@ msgstr ""
msgid "Batch and Serial No"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1009
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1068
msgid "Batch not created for item {} since it does not have a batch series."
msgstr ""
@@ -8050,18 +8233,18 @@ msgstr ""
msgid "Batch {0} and Warehouse"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:1195
+#: erpnext/controllers/sales_and_purchase_return.py:1213
msgid "Batch {0} is not available in warehouse {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3836
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3912
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:290
msgid "Batch {0} of Item {1} has expired."
-msgstr "一批項目的{0} {1}已過期。"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3842
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3918
msgid "Batch {0} of Item {1} is disabled."
-msgstr "項目{1}的批處理{0}已禁用。"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -8070,10 +8253,10 @@ msgstr "項目{1}的批處理{0}已禁用。"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Batch-Wise Balance History"
-msgstr "間歇式平衡歷史"
+msgstr ""
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:164
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:194
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:203
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:86
msgid "Batchwise Valuation"
msgstr ""
@@ -8095,7 +8278,7 @@ msgstr ""
msgid "Beginning of the current subscription period"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:359
+#: erpnext/accounts/doctype/subscription/subscription.py:363
msgid "Below Subscription Plans are of different currency to the party default billing currency/Company currency: {0}"
msgstr ""
@@ -8114,20 +8297,20 @@ msgstr ""
#. Label of the bill_date (Date) field in DocType 'Journal Entry'
#. Label of the bill_date (Date) field in DocType 'Subcontracting Receipt'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1207
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1214
#: erpnext/accounts/report/purchase_register/purchase_register.py:230
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Bill Date"
-msgstr "帳單日期"
+msgstr ""
#. Label of the bill_no (Data) field in DocType 'Journal Entry'
#. Label of the bill_no (Data) field in DocType 'Subcontracting Receipt'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1206
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1213
#: erpnext/accounts/report/purchase_register/purchase_register.py:229
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Bill No"
-msgstr "帳單號碼"
+msgstr ""
#. Label of the bill_for_rejected_quantity_in_purchase_invoice (Check) field in
#. DocType 'Buying Settings'
@@ -8140,18 +8323,18 @@ msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/manufacturing/doctype/bom/bom.py:1373
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
-#: erpnext/stock/doctype/material_request/material_request.js:139
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:796
+#: erpnext/stock/doctype/material_request/material_request.js:142
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:772
#: erpnext/workspace_sidebar/subcontracting.json
msgid "Bill of Materials"
-msgstr "材料清單"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Timesheet'
-#: erpnext/controllers/website_list_for_contact.py:207
+#: erpnext/controllers/website_list_for_contact.py:209
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/doctype/timesheet/timesheet_list.js:9
msgid "Billed"
-msgstr "計費"
+msgstr ""
#. Label of the billed_amt (Currency) field in DocType 'Purchase Order Item'
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:51
@@ -8164,7 +8347,7 @@ msgstr "計費"
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:209
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:298
msgid "Billed Amount"
-msgstr "帳單金額"
+msgstr ""
#. Label of the billed_amt (Currency) field in DocType 'Sales Order Item'
#. Label of the billed_amt (Currency) field in DocType 'Delivery Note Item'
@@ -8207,7 +8390,9 @@ msgstr ""
#. Label of the contact_info (Section Break) field in DocType 'Delivery Note'
#. Label of the address_display (Text Editor) field in DocType 'Delivery Note'
#. Label of the billing_address (Link) field in DocType 'Purchase Receipt'
+#. Label of the billing_address_display (Text Editor) field in DocType
#. 'Purchase Receipt'
+#. Label of the billing_address_display (Text Editor) field in DocType
#. 'Subcontracting Receipt'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -8224,7 +8409,9 @@ msgstr ""
#. 'Purchase Order'
#. Label of the billing_address_display (Text Editor) field in DocType 'Request
#. for Quotation'
+#. Label of the billing_address_display (Text Editor) field in DocType
#. 'Supplier Quotation'
+#. Label of the billing_address_display (Text Editor) field in DocType
#. 'Subcontracting Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
@@ -8238,7 +8425,7 @@ msgstr ""
msgid "Billing Address Name"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:593
+#: erpnext/controllers/accounts_controller.py:598
msgid "Billing Address does not belong to the {0}"
msgstr ""
@@ -8252,7 +8439,7 @@ msgstr ""
#: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py:73
#: erpnext/selling/report/territory_wise_sales/territory_wise_sales.py:50
msgid "Billing Amount"
-msgstr "開票金額"
+msgstr ""
#. Label of the billing_city (Data) field in DocType 'Tax Rule'
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
@@ -8298,7 +8485,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json
#: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py:67
msgid "Billing Hours"
-msgstr "結算時間"
+msgstr ""
#. Label of the billing_interval (Select) field in DocType 'Subscription Plan'
#: erpnext/accounts/doctype/subscription_plan/subscription_plan.json
@@ -8315,7 +8502,7 @@ msgstr ""
msgid "Billing Interval Count cannot be less than 1"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:408
+#: erpnext/accounts/doctype/subscription/subscription.py:412
msgid "Billing Interval in Subscription Plan must be Month to follow calendar months"
msgstr ""
@@ -8337,24 +8524,24 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/selling/doctype/sales_order/sales_order_calendar.js:31
msgid "Billing Status"
-msgstr "計費狀態"
+msgstr ""
#. Label of the billing_zipcode (Data) field in DocType 'Tax Rule'
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
msgid "Billing Zipcode"
msgstr ""
-#: erpnext/accounts/party.py:617
+#: erpnext/accounts/party.py:633
msgid "Billing currency must be equal to either default company's currency or party account currency"
-msgstr "帳單貨幣必須等於默認公司的貨幣或科目幣種"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/bin/bin.json
msgid "Bin"
-msgstr "箱子"
+msgstr ""
#: erpnext/stock/doctype/bin/bin.js:16
-msgid "Bin Qty Recalculated"
+msgid "Bin Values Recalculated"
msgstr ""
#. Label of the bio (Text Editor) field in DocType 'Employee'
@@ -8415,7 +8602,7 @@ msgstr ""
msgid "Biweekly"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:285
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:288
msgid "Black"
msgstr ""
@@ -8438,11 +8625,12 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Blanket Order"
-msgstr "總訂單"
+msgstr ""
#. Label of the blanket_order_allowance (Float) field in DocType 'Buying
#. Settings'
#. Label of the blanket_order_allowance (Float) field in DocType 'Selling
+#. Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Blanket Order Allowance (%)"
@@ -8451,12 +8639,13 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.json
msgid "Blanket Order Item"
-msgstr "一攬子訂單項目"
+msgstr ""
#. Label of the blanket_order_rate (Currency) field in DocType 'Purchase Order
#. Item'
#. Label of the blanket_order_rate (Currency) field in DocType 'Quotation Item'
#. Label of the blanket_order_rate (Currency) field in DocType 'Sales Order
+#. Item'
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -8473,9 +8662,9 @@ msgid "Blanket Orders"
msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:109
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:271
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:269
msgid "Block Invoice"
-msgstr "阻止發票"
+msgstr ""
#. Label of the on_hold (Check) field in DocType 'Supplier'
#. Label of the block_supplier_section (Section Break) field in DocType
@@ -8484,6 +8673,12 @@ msgstr "阻止發票"
msgid "Block Supplier"
msgstr ""
+#. Description of the 'Restrict Customer Over Billing' (Check) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Block a new Sales Invoice when the customer's overdue amount exceeds the Overdue Limit set on the customer."
+msgstr ""
+
#. Description of the 'Is Frozen' (Check) field in DocType 'Customer'
#: erpnext/selling/doctype/customer/customer.json
msgid "Blocks all further accounting entries on this customer's account. Only users with the frozen-entries role can override.\n"
@@ -8534,6 +8729,7 @@ msgstr ""
#. Label of the book_advance_payments_in_separate_party_account (Check) field
#. in DocType 'Payment Entry'
+#. Label of the book_advance_payments_in_separate_party_account (Check) field
#. in DocType 'Company'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/setup/doctype/company/company.json
@@ -8556,6 +8752,12 @@ msgstr ""
msgid "Book Deferred entries based on"
msgstr ""
+#. Label of the book_stock_expense_gl_entries (Check) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Book Stock Expense GL Entries"
+msgstr ""
+
#: erpnext/www/book_appointment/index.html:15
msgid "Book an appointment"
msgstr ""
@@ -8576,13 +8778,19 @@ msgstr ""
#: erpnext/stock/doctype/shipment/shipment.json
#: erpnext/stock/doctype/shipment/shipment_list.js:5
msgid "Booked"
-msgstr "預訂"
+msgstr ""
#. Label of the booked_fixed_asset (Check) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
msgid "Booked Fixed Asset"
msgstr ""
+#. Description of the 'Book Stock Expense GL Entries' (Check) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Books Purchase Expense and Expenses Added To Stock account pairs against stock value. On enabling this, the accounts become mandatory in Company or Item Defaults for Purchase Receipt, Purchase Invoice, Stock Entry, Stock Reconciliation and Landed Cost Voucher"
+msgstr ""
+
#: erpnext/accounts/general_ledger.py:849
msgid "Books have been closed till the period ending on {0}"
msgstr ""
@@ -8601,9 +8809,9 @@ msgstr ""
msgid "Both Receivable Account: {0} and Advance Account: {1} must be of same currency for company: {2}"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:378
+#: erpnext/accounts/doctype/subscription/subscription.py:382
msgid "Both Trial Period Start Date and Trial Period End Date must be set"
-msgstr "必須設置試用期開始日期和試用期結束日期"
+msgstr ""
#: erpnext/utilities/transaction_base.py:288
msgid "Both {0} Account: {1} and Advance Account: {2} must be of same currency for company: {3}"
@@ -8626,7 +8834,7 @@ msgstr ""
#: erpnext/setup/doctype/employee_internal_work_history/employee_internal_work_history.json
#: erpnext/workspace_sidebar/organization.json
msgid "Branch"
-msgstr "分支機構"
+msgstr ""
#. Label of the branch_code (Data) field in DocType 'Bank Account'
#. Label of the branch_code (Data) field in DocType 'Bank Guarantee'
@@ -8671,7 +8879,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.js:234
msgid "Browse BOM"
-msgstr "瀏覽BOM"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -8724,22 +8932,22 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:239
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:321
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:331
-#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:460
+#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:465
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/desktop_icon/budget.json erpnext/workspace_sidebar/budget.json
msgid "Budget"
-msgstr "預算"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/budget_account/budget_account.json
msgid "Budget Account"
-msgstr "預算科目"
+msgstr ""
#. Label of the budget_against (Select) field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:80
msgid "Budget Against"
-msgstr "反對財政預算案"
+msgstr ""
#. Label of the budget_amount (Currency) field in DocType 'Budget'
#. Label of the budget_amount (Currency) field in DocType 'Budget Account'
@@ -8787,7 +8995,7 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:61
msgid "Budget List"
-msgstr "預算清單"
+msgstr ""
#. Label of the budget_start_date (Date) field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
@@ -8805,11 +9013,11 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.json
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Budget Variance Report"
-msgstr "預算差異報告"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:157
msgid "Budget cannot be assigned against Group Account {0}"
-msgstr "不能指定預算給群組帳目{0}"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:162
msgid "Budget cannot be assigned against {0}, as its Root Type is not of Income or Expense"
@@ -8910,7 +9118,7 @@ msgstr ""
#: erpnext/stock/doctype/batch/batch_dashboard.py:8
#: erpnext/stock/doctype/item/item_dashboard.py:22
msgid "Buy"
-msgstr "購買"
+msgstr ""
#: erpnext/stock/doctype/item/item_prices.html:96
msgid "Buy & Sell"
@@ -8946,24 +9154,24 @@ msgstr ""
#: erpnext/stock/doctype/price_list/price_list.json
#: erpnext/workspace_sidebar/buying.json
msgid "Buying"
-msgstr "採購"
+msgstr ""
#. Label of the sales_settings (Section Break) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
msgid "Buying & Selling Settings"
msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:368
+#: erpnext/accounts/report/gross_profit/gross_profit.py:370
msgid "Buying Amount"
-msgstr "購買金額"
+msgstr ""
#: erpnext/stock/report/item_price_stock/item_price_stock.py:40
msgid "Buying Price List"
-msgstr "買價格表"
+msgstr ""
#: erpnext/stock/report/item_price_stock/item_price_stock.py:46
msgid "Buying Rate"
-msgstr "購買率"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Buying Workspace
@@ -8974,7 +9182,7 @@ msgstr "購買率"
#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Buying Settings"
-msgstr "採購設定"
+msgstr ""
#. Title of the Module Onboarding 'Buying Onboarding'
#: erpnext/buying/module_onboarding/buying_onboarding/buying_onboarding.json
@@ -8986,9 +9194,9 @@ msgstr ""
msgid "Buying and Selling"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:219
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:237
msgid "Buying must be checked, if Applicable For is selected as {0}"
-msgstr "採購必須進行檢查,如果適用於被選擇為{0}"
+msgstr ""
#: erpnext/buying/doctype/buying_settings/buying_settings.js:62
msgid "By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a Naming Series choose the 'Naming Series' option."
@@ -9069,7 +9277,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:67
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:117
msgid "CWIP Account"
-msgstr "CWIP科目"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -9091,13 +9299,6 @@ msgstr ""
msgid "Cable Length (US)"
msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:73
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:28
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:102
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:28
-msgid "Calculate Ageing With"
-msgstr ""
-
#. Label of the calculate_based_on (Select) field in DocType 'Shipping Rule'
#: erpnext/accounts/doctype/shipping_rule/shipping_rule.json
msgid "Calculate Based On"
@@ -9144,7 +9345,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:57
msgid "Calculated Bank Statement balance"
-msgstr "計算的銀行對賬單餘額"
+msgstr ""
#. Name of a report
#: erpnext/accounts/report/calculated_discount_mismatch/calculated_discount_mismatch.json
@@ -9283,7 +9484,7 @@ msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.json
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Campaign Efficiency"
-msgstr "運動效率"
+msgstr ""
#. Name of a DocType
#: erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.json
@@ -9320,9 +9521,9 @@ msgstr ""
#: erpnext/setup/doctype/authorization_control/authorization_control.py:60
msgid "Can be approved by {0}"
-msgstr "可以通過{0}的批准"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2782
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2852
msgid "Can not close Work Order. Since {0} Job Cards are in Work In Progress state."
msgstr ""
@@ -9348,21 +9549,21 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:83
msgid "Can not filter based on Voucher No, if grouped by Voucher"
-msgstr "是凍結的帳戶。要禁止該帳戶創建/編輯事務,你需要有指定的身份"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1396
-#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2898
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1407
+#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2899
msgid "Can only make payment against unbilled {0}"
-msgstr "只能使支付對未付款的{0}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1510
-#: erpnext/controllers/accounts_controller.py:3216
+#: erpnext/controllers/accounts_controller.py:3221
#: erpnext/public/js/controllers/accounts.js:100
msgid "Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total'"
-msgstr "可以參考的行只有在充電類型是“在上一行量'或'前行總計”"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:208
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:183
+#: erpnext/setup/doctype/company/company.py:210
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:188
msgid "Can't change the valuation method, as there are transactions against some items which do not have its own valuation method"
msgstr ""
@@ -9373,15 +9574,15 @@ msgstr ""
#: erpnext/support/doctype/warranty_claim/warranty_claim.py:72
msgid "Cancel Material Visit {0} before cancelling this Warranty Claim"
-msgstr "材質訪問{0}之前取消此保修索賠取消"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py:192
msgid "Cancel Material Visits {0} before cancelling this Maintenance Visit"
-msgstr "取消取消此保養訪問之前,材質訪問{0}"
+msgstr ""
#: erpnext/accounts/doctype/subscription/subscription.js:48
msgid "Cancel Subscription"
-msgstr "取消訂閱"
+msgstr ""
#. Label of the cancel_after_grace (Check) field in DocType 'Subscription
#. Settings'
@@ -9394,7 +9595,7 @@ msgstr ""
msgid "Cancelation Date"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1508
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1521
msgid "Cancelled Job Card cannot be processed."
msgstr ""
@@ -9407,11 +9608,11 @@ msgstr ""
msgid "Cannot Calculate Arrival Time as Driver Address is Missing."
msgstr ""
-#: erpnext/setup/doctype/company/company.py:227
+#: erpnext/setup/doctype/company/company.py:229
msgid "Cannot Change Inventory Account Setting"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:438
+#: erpnext/controllers/sales_and_purchase_return.py:456
msgid "Cannot Create Return"
msgstr ""
@@ -9429,7 +9630,7 @@ msgstr ""
msgid "Cannot Relieve Employee"
msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:73
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:88
msgid "Cannot Resubmit Ledger entries for vouchers in Closed fiscal year."
msgstr ""
@@ -9447,13 +9648,13 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:362
msgid "Cannot be a fixed asset item as Stock Ledger is created."
-msgstr "不能成為庫存分類賬創建的固定資產項目。"
+msgstr ""
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:118
msgid "Cannot cancel Asset Depreciation Schedule {0} as it has a draft journal entry {1}."
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:246
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:247
msgid "Cannot cancel POS Closing Entry"
msgstr ""
@@ -9465,11 +9666,11 @@ msgstr ""
msgid "Cannot cancel as processing of cancelled documents is pending."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1187
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1246
msgid "Cannot cancel because submitted Stock Entry {0} exists"
-msgstr "不能取消,因為提交庫存輸入{0}存在"
+msgstr ""
-#: erpnext/stock/stock_ledger.py:179
+#: erpnext/stock/stock_ledger.py:206
msgid "Cannot cancel the transaction. Reposting of item valuation on submission is not completed yet."
msgstr ""
@@ -9477,23 +9678,23 @@ msgstr ""
msgid "Cannot cancel this Manufacturing Stock Entry as quantity of Finished Good produced cannot be less than quantity delivered in the linked Subcontracting Inward Order."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:583
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:584
msgid "Cannot cancel this document as it is linked with the submitted Asset Value Adjustment {0}. Please cancel the Asset Value Adjustment to continue."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1200
+#: erpnext/controllers/buying_controller.py:1219
msgid "Cannot cancel this document as it is linked with the submitted asset {asset_link}. Please cancel the asset to continue."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:659
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:680
msgid "Cannot cancel transaction for Completed Work Order."
-msgstr "無法取消已完成工單的交易。"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:982
+#: erpnext/stock/doctype/item/item.py:992
msgid "Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item"
-msgstr "庫存交易後不能更改屬性。創建一個新項目並將庫存轉移到新項目"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:1119
+#: erpnext/stock/doctype/item/item.py:1129
msgid "Cannot change Item {0} from serialized to non-serialized because a Serial and Batch Bundle exists for it. Please delete or cancel the Serial and Batch Bundle first."
msgstr ""
@@ -9503,46 +9704,46 @@ msgstr ""
#: erpnext/accounts/deferred_revenue.py:53
msgid "Cannot change Service Stop Date for item in row {0}"
-msgstr "無法更改行{0}中項目的服務停止日期"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:973
+#: erpnext/stock/doctype/item/item.py:983
msgid "Cannot change Variant properties after stock transaction. You will have to make a new Item to do this."
-msgstr "庫存交易後不能更改Variant屬性。你將不得不做一個新的項目來做到這一點。"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:332
+#: erpnext/setup/doctype/company/company.py:334
msgid "Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency."
-msgstr "不能改變公司的預設貨幣,因為有存在的交易。交易必須取消更改預設貨幣。"
+msgstr ""
-#: erpnext/projects/doctype/task/task.py:147
+#: erpnext/projects/doctype/task/task.py:148
msgid "Cannot complete task {0} as its dependant task {1} are not completed / cancelled."
msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:61
msgid "Cannot convert Cost Center to ledger as it has child nodes"
-msgstr "不能成本中心轉換為總賬,因為它有子節點"
+msgstr ""
-#: erpnext/projects/doctype/task/task.js:49
+#: erpnext/projects/doctype/task/task.js:55
msgid "Cannot convert Task to non-group because the following child Tasks exist: {0}."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:440
+#: erpnext/accounts/doctype/account/account.py:471
msgid "Cannot convert to Group because Account Type is selected."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:276
+#: erpnext/accounts/doctype/account/account.py:307
msgid "Cannot covert to Group because Account Type is selected."
-msgstr "不能轉換到群組科目,因為科目類型選擇的。"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2846
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2852
msgid "Cannot create Intercompany {0}. All items in the source {1} have already been fully invoiced. Please check the existing linked {2}s."
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1021
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1011
msgid "Cannot create Stock Reservation Entries for future dated Purchase Receipts."
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:1905
-#: erpnext/stock/doctype/pick_list/pick_list.py:258
+#: erpnext/stock/doctype/pick_list/pick_list.py:260
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 ""
@@ -9550,22 +9751,22 @@ msgstr ""
msgid "Cannot create accounting entries against disabled accounts: {0}"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:437
+#: erpnext/controllers/sales_and_purchase_return.py:455
msgid "Cannot create return for consolidated invoice {0}."
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1211
msgid "Cannot deactivate or cancel BOM as it is linked with other BOMs"
-msgstr "無法關閉或取消BOM,因為它是與其他材料明細表鏈接"
+msgstr ""
-#: erpnext/crm/doctype/opportunity/opportunity.py:282
-msgid "Cannot declare as lost, because Quotation has been made."
-msgstr "不能聲明為丟失,因為報價已經取得進展。"
+#: erpnext/crm/doctype/opportunity/opportunity.py:292
+msgid "Cannot declare as Lost because an active Quotation exists."
+msgstr ""
#: erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.js:16
#: erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.js:26
msgid "Cannot deduct when category is for 'Valuation' or 'Valuation and Total'"
-msgstr "不能抵扣當類別為“估值”或“估值及總'"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1854
msgid "Cannot delete Exchange Gain/Loss row"
@@ -9573,9 +9774,9 @@ msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.py:120
msgid "Cannot delete Serial No {0}, as it is used in stock transactions"
-msgstr "無法刪除序列號{0},因為它採用的是現貨交易"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:3831
+#: erpnext/controllers/accounts_controller.py:3871
msgid "Cannot delete an item which has been ordered"
msgstr ""
@@ -9588,31 +9789,31 @@ msgstr ""
msgid "Cannot delete virtual DocType: {0}. Virtual DocTypes do not have database tables."
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:148
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:153
msgid "Cannot disable Serial and Batch No for Item, as there are existing records for serial / batch."
msgstr ""
-#: erpnext/setup/doctype/company/company.py:562
+#: erpnext/setup/doctype/company/company.py:564
msgid "Cannot disable perpetual inventory, as there are existing Stock Ledger Entries for the company {0}. Please cancel the stock transactions first and try again."
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:129
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:134
msgid "Cannot disable {0} as it may lead to incorrect stock valuation."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:799
+#: erpnext/manufacturing/doctype/work_order/work_order.py:858
msgid "Cannot disassemble more than produced quantity."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1024
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1045
msgid "Cannot disassemble {0} qty against Stock Entry {1}. Only {2} qty available to disassemble."
msgstr ""
-#: erpnext/setup/doctype/company/company.py:224
+#: erpnext/setup/doctype/company/company.py:226
msgid "Cannot enable Item-wise Inventory Account, as there are existing Stock Ledger Entries for the company {0} with Warehouse-wise Inventory Account. Please cancel the stock transactions first and try again."
msgstr ""
-#: erpnext/crm/doctype/crm_settings/crm_settings.py:43
+#: erpnext/crm/doctype/crm_settings/crm_settings.py:45
msgid "Cannot enable Opportunity creation from Contact Us because the Contact Us form is disabled."
msgstr ""
@@ -9621,35 +9822,35 @@ msgstr ""
msgid "Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No."
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.js:111
+#: erpnext/accounts/doctype/payment_request/payment_request.js:113
msgid "Cannot fetch selected rows for submitted Payment Request"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:62
+#: erpnext/public/js/utils/barcode_scanner.js:67
msgid "Cannot find Item or Warehouse with this Barcode"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:63
+#: erpnext/public/js/utils/barcode_scanner.js:68
msgid "Cannot find Item with this Barcode"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3783
-msgid "Cannot find a default warehouse for item {0}. Please set one in the Item Master or in Stock Settings."
+#: erpnext/controllers/accounts_controller.py:3810
+msgid "Cannot find a default warehouse for item {0}. Please select one in the Update Items dialog, or set a default in the Item Master or in Stock Settings."
msgstr ""
-#: erpnext/accounts/party.py:1092
+#: erpnext/accounts/party.py:1110
msgid "Cannot merge {0} '{1}' into '{2}' as both have existing accounting entries in different currencies for company '{3}'."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:643
+#: erpnext/manufacturing/doctype/work_order/work_order.py:647
msgid "Cannot produce more Item {0} than Sales Order quantity {1} {2}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1561
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1620
msgid "Cannot produce more item for {0}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1565
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1624
msgid "Cannot produce more than {0} items for {1}"
msgstr ""
@@ -9657,15 +9858,19 @@ msgstr ""
msgid "Cannot receive from customer against negative outstanding"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3979
+#: erpnext/controllers/accounts_controller.py:4020
msgid "Cannot reduce quantity than ordered or purchased quantity"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1523
-#: erpnext/controllers/accounts_controller.py:3231
+#: erpnext/controllers/accounts_controller.py:3236
#: erpnext/public/js/controllers/accounts.js:117
msgid "Cannot refer row number greater than or equal to current row number for this Charge type"
-msgstr "不能引用的行號大於或等於當前行號碼提供給充電式"
+msgstr ""
+
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:96
+msgid "Cannot repost more than {0} vouchers at once. Split them into multiple documents."
+msgstr ""
#: erpnext/accounts/doctype/bank/bank.js:63
msgid "Cannot retrieve link token for update. Check Error Log for more information"
@@ -9675,36 +9880,36 @@ msgstr ""
msgid "Cannot retrieve link token. Check Error Log for more information"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:369
+#: erpnext/selling/doctype/customer/customer.py:379
msgid "Cannot select a Group type Customer Group. Please select a non-group Customer Group."
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1516
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1694
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1848
-#: erpnext/controllers/accounts_controller.py:3221
+#: erpnext/controllers/accounts_controller.py:3226
#: erpnext/public/js/controllers/accounts.js:109
-#: erpnext/public/js/controllers/taxes_and_totals.js:555
+#: erpnext/public/js/controllers/taxes_and_totals.js:570
msgid "Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"
-msgstr "不能選擇充電式為'在上一行量'或'在上一行總'的第一行"
+msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:288
+#: erpnext/selling/doctype/quotation/quotation.py:291
msgid "Cannot set as Lost as Sales Order is made."
-msgstr "不能設置為失落的銷售訂單而成。"
+msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:91
msgid "Cannot set authorization on basis of Discount for {0}"
-msgstr "不能在折扣的基礎上設置授權{0}"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:773
msgid "Cannot set multiple Item Defaults for a company."
-msgstr "無法為公司設置多個項目默認值。"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:3945
+#: erpnext/controllers/accounts_controller.py:3986
msgid "Cannot set quantity less than delivered quantity."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3946
+#: erpnext/controllers/accounts_controller.py:3987
msgid "Cannot set quantity less than received quantity."
msgstr ""
@@ -9720,7 +9925,7 @@ msgstr ""
msgid "Cannot submit Job Card {0} while it is On Hold. Please resume and complete the job before submission."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3973
+#: erpnext/controllers/accounts_controller.py:4014
msgid "Cannot update rate as item {0} is already ordered or purchased against this quotation"
msgstr ""
@@ -9753,7 +9958,7 @@ msgstr ""
msgid "Capacity Planning"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1173
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1232
msgid "Capacity Planning Error, planned start time can not be same as end time"
msgstr ""
@@ -9795,9 +10000,9 @@ msgstr ""
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/report/account_balance/account_balance.js:42
msgid "Capital Work in Progress"
-msgstr "資本工作正在進行中"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:228
+#: erpnext/assets/doctype/asset/asset.js:236
msgid "Capitalize Asset"
msgstr ""
@@ -9806,7 +10011,7 @@ msgstr ""
msgid "Capitalize Repair Cost"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:226
+#: erpnext/assets/doctype/asset/asset.js:234
msgid "Capitalize this asset before submitting."
msgstr ""
@@ -9856,9 +10061,9 @@ msgstr ""
#: erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
#: erpnext/accounts/report/account_balance/account_balance.js:40
#: erpnext/setup/doctype/employee/employee.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:257
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:260
msgid "Cash"
-msgstr "現金"
+msgstr ""
#. Option for the 'Entry Type' (Select) field in DocType 'Journal Entry'
#. Option for the 'Journal Entry Type' (Select) field in DocType 'Journal Entry
@@ -9878,32 +10083,32 @@ msgstr ""
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Cash Flow"
-msgstr "現金周轉"
+msgstr ""
-#: erpnext/public/js/financial_statements.js:359
+#: erpnext/public/js/financial_statements.js:379
msgid "Cash Flow Statement"
-msgstr "現金流量表"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:186
+#: erpnext/accounts/report/cash_flow/cash_flow.py:187
msgid "Cash Flow from Financing"
-msgstr "從融資現金流"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:179
+#: erpnext/accounts/report/cash_flow/cash_flow.py:180
msgid "Cash Flow from Investing"
-msgstr "從投資現金流"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:167
+#: erpnext/accounts/report/cash_flow/cash_flow.py:168
msgid "Cash Flow from Operations"
-msgstr "運營現金流"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:20
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:26
msgid "Cash In Hand"
-msgstr "手頭現金"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:329
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:339
msgid "Cash or Bank Account is mandatory for making payment entry"
-msgstr "製作付款分錄時,現金或銀行科目是強制性輸入的欄位。"
+msgstr ""
#. Label of the cash_bank_account (Link) field in DocType 'POS Invoice'
#. Label of the cash_bank_account (Link) field in DocType 'Purchase Invoice'
@@ -9922,17 +10127,17 @@ msgstr ""
#: erpnext/accounts/report/pos_register/pos_register.py:123
#: erpnext/accounts/report/pos_register/pos_register.py:195
msgid "Cashier"
-msgstr "出納員"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/cashier_closing/cashier_closing.json
msgid "Cashier Closing"
-msgstr "收銀員關閉"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.json
msgid "Cashier Closing Payments"
-msgstr "收銀員結算付款"
+msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:77
msgid "Cashier is currently assigned to another POS."
@@ -9991,11 +10196,7 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: erpnext/assets/dashboard_fixtures.py:93
-msgid "Category-wise Asset Value"
-msgstr ""
-
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:300
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:301
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:144
msgid "Caution"
msgstr ""
@@ -10085,12 +10286,13 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:94
msgid "Change Release Date"
-msgstr "更改發布日期"
+msgstr ""
#. Label of the stock_value_difference (Float) field in DocType 'Serial and
#. Batch Entry'
#. Label of the stock_value_difference (Currency) field in DocType 'Stock
#. Closing Balance'
+#. Label of the stock_value_difference (Currency) field in DocType 'Stock
#. Ledger Entry'
#: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json
#: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json
@@ -10099,7 +10301,7 @@ msgstr "更改發布日期"
msgid "Change in Stock Value"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1076
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1082
msgid "Change the account type to Receivable or select a different account."
msgstr ""
@@ -10109,7 +10311,7 @@ msgstr ""
msgid "Change this date manually to setup the next synchronization start date"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:159
+#: erpnext/selling/doctype/customer/customer.py:162
msgid "Changed customer name to '{}' as '{}' already exists."
msgstr ""
@@ -10119,7 +10321,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.js:374
msgid "Changing Customer Group for the selected Customer is not allowed."
-msgstr "不允許更改所選客戶的客戶組。"
+msgstr ""
#. Description of the 'column_break_mfor' (Column Break) field in DocType
#. 'Accounts Settings'
@@ -10138,7 +10340,7 @@ msgid "Channel Partner"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2277
-#: erpnext/controllers/accounts_controller.py:3284
+#: erpnext/controllers/accounts_controller.py:3289
msgid "Charge of type 'Actual' in row {0} cannot be included in Item Rate or Paid Amount"
msgstr ""
@@ -10189,7 +10391,7 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:52
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/public/js/setup_wizard.js:138
-#: erpnext/setup/doctype/company/company.js:123
+#: erpnext/setup/doctype/company/company.js:134
#: erpnext/setup/doctype/company/company.json
#: erpnext/setup/workspace/home/home.json
#: erpnext/workspace_sidebar/accounts_setup.json
@@ -10213,7 +10415,7 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Chart of Cost Centers"
-msgstr "成本中心的圖"
+msgstr ""
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.js:66
msgid "Charts Based On"
@@ -10296,7 +10498,7 @@ msgstr ""
#. Option for the 'Salary Mode' (Select) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:254
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:257
msgid "Cheque"
msgstr ""
@@ -10332,15 +10534,15 @@ msgstr ""
#. Label of the reference_date (Date) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
-#: erpnext/public/js/controllers/transaction.js:2823
+#: erpnext/public/js/controllers/transaction.js:2812
msgid "Cheque/Reference Date"
-msgstr "支票/參考日期"
+msgstr ""
#. Label of the reference_no (Data) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:39
msgid "Cheque/Reference No"
-msgstr "支票/參考編號"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankClearanceSummary.tsx:132
#: banking/src/components/features/BankReconciliation/BankClearanceSummary.tsx:323
@@ -10349,7 +10551,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:134
msgid "Cheques Required"
-msgstr "需要檢查"
+msgstr ""
#. Name of a report
#: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.json
@@ -10359,7 +10561,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js:50
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:54
msgid "Cheques and Deposits incorrectly cleared"
-msgstr "支票及存款不正確清除"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:9
msgid "Chief Executive Officer"
@@ -10390,7 +10592,7 @@ msgstr ""
#. Label of the child_row_reference (Data) field in DocType 'Quality
#. Inspection'
-#: erpnext/public/js/controllers/transaction.js:2918
+#: erpnext/public/js/controllers/transaction.js:2907
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Child Row Reference"
msgstr ""
@@ -10399,13 +10601,13 @@ msgstr ""
msgid "Child Table Not Allowed"
msgstr ""
-#: erpnext/projects/doctype/task/task.py:314
+#: erpnext/projects/doctype/task/task.py:332
msgid "Child Task exists for this Task. You can not delete this Task."
-msgstr "子任務存在這個任務。你不能刪除這個任務。"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse_tree.js:21
msgid "Child nodes can be only created under 'Group' type nodes"
-msgstr "子節點可以在'集團'類型的節點上創建"
+msgstr ""
#. Description of the 'Child DocTypes' (Small Text) field in DocType
#. 'Transaction Deletion Record To Delete'
@@ -10415,11 +10617,11 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:103
msgid "Child warehouse exists for this warehouse. You can not delete this warehouse."
-msgstr "兒童倉庫存在這個倉庫。您不能刪除這個倉庫。"
+msgstr ""
-#: erpnext/projects/doctype/task/task.py:262
+#: erpnext/projects/doctype/task/task.py:263
msgid "Circular Reference Error"
-msgstr "循環引用錯誤"
+msgstr ""
#. Label of the claimed_landed_cost_amount (Currency) field in DocType
#. 'Purchase Invoice'
@@ -10453,7 +10655,7 @@ msgstr ""
msgid "Clauses and Conditions"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:493
+#: erpnext/public/js/utils/barcode_scanner.js:502
msgid "Clear Last Scanned Warehouse"
msgstr ""
@@ -10491,15 +10693,15 @@ msgstr ""
#: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.py:152
#: erpnext/templates/form_grid/bank_reconciliation_grid.html:7
msgid "Clearance Date"
-msgstr "清拆日期"
+msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:135
msgid "Clearance Date not mentioned"
-msgstr "清拆日期未提及"
+msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:180
msgid "Clearance Date updated"
-msgstr "間隙更新日期"
+msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:159
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:174
@@ -10519,7 +10721,7 @@ msgstr ""
msgid "Clearing Demo Data..."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:720
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:718
msgid "Click on 'Get Finished Goods for Manufacture' to fetch the items from the above Sales Orders. Items only for which a BOM is present will be fetched."
msgstr ""
@@ -10527,7 +10729,7 @@ msgstr ""
msgid "Click on Add to Holidays. This will populate the holidays table with all the dates that fall on the selected weekly off. Repeat the process for populating the dates for all your weekly holidays"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:715
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:713
msgid "Click on Get Sales Orders to fetch sales orders based on the above filters."
msgstr ""
@@ -10581,25 +10783,29 @@ msgstr ""
#: erpnext/selling/page/point_of_sale/pos_controller.js:244
msgid "Close the POS"
-msgstr "關閉POS"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/closed_document/closed_document.json
msgid "Closed Document"
-msgstr "關閉文件"
+msgstr ""
#. Label of the closed_documents (Table) field in DocType 'Accounting Period'
#: erpnext/accounts/doctype/accounting_period/accounting_period.json
msgid "Closed Documents"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2705
+#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:147
+msgid "Closed Period"
+msgstr ""
+
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2775
msgid "Closed Work Order can not be stopped or Re-opened"
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:540
msgid "Closed order cannot be cancelled. Unclose to cancel."
-msgstr "關閉的定單不能被取消。 Unclose取消。"
+msgstr ""
#. Label of the expected_closing (Date) field in DocType 'Prospect Opportunity'
#: erpnext/crm/doctype/prospect_opportunity/prospect_opportunity.json
@@ -10610,17 +10816,17 @@ msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:544
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:226
msgid "Closing (Cr)"
-msgstr "關閉(Cr)"
+msgstr ""
#: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:438
#: erpnext/accounts/report/trial_balance/trial_balance.py:537
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:219
msgid "Closing (Dr)"
-msgstr "關閉(Dr)"
+msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:405
msgid "Closing (Opening + Total)"
-msgstr "閉幕(開幕+總計)"
+msgstr ""
#. Label of the closing_account_head (Link) field in DocType 'Period Closing
#. Voucher'
@@ -10628,9 +10834,9 @@ msgstr "閉幕(開幕+總計)"
msgid "Closing Account Head"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:124
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:136
msgid "Closing Account {0} must be of type Liability / Equity"
-msgstr "關閉科目{0}的類型必須是負債/權益"
+msgstr ""
#. Label of the closing_amount (Currency) field in DocType 'POS Closing Entry
#. Detail'
@@ -10778,9 +10984,9 @@ msgstr ""
msgid "Color to highlight values (e.g., red for exceptions)"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:280
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:283
msgid "Colour"
-msgstr "顏色"
+msgstr ""
#. Label of the column_mapping (Table) field in DocType 'Bank Statement Import
#. Log'
@@ -10801,15 +11007,17 @@ msgstr ""
msgid "Combined invoice portion must equal 100%"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:178
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:181
msgid "Commercial"
-msgstr "商業"
+msgstr ""
#. Label of the sales_team_section_break (Section Break) field in DocType 'POS
#. Invoice'
#. Label of the commission_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the sales_team_section_break (Section Break) field in DocType
#. 'Sales Order'
+#. Label of the sales_team_section_break (Section Break) field in DocType
#. 'Delivery Note'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -10850,7 +11058,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:104
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:172
msgid "Commission on Sales"
-msgstr "銷售佣金"
+msgstr ""
#. Description of the 'Sales Partner' (Section Break) field in DocType
#. 'Customer'
@@ -10960,6 +11168,7 @@ msgstr ""
#. Label of the company (Link) field in DocType 'Repost Payment Ledger'
#. Label of the company (Link) field in DocType 'Sales Invoice'
#. Label of the company (Link) field in DocType 'Sales Taxes and Charges
+#. Template'
#. Label of the company (Link) field in DocType 'Share Transfer'
#. Label of the company (Link) field in DocType 'Shareholder'
#. Label of the company (Link) field in DocType 'Shipping Rule'
@@ -11242,7 +11451,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/report/project_summary/project_summary.js:8
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:44
-#: erpnext/public/js/financial_statements.js:381
+#: erpnext/public/js/financial_statements.js:401
#: erpnext/public/js/purchase_trends_filters.js:8
#: erpnext/public/js/sales_trends_filters.js:51
#: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json
@@ -11344,10 +11553,10 @@ msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.js:8
#: erpnext/stock/report/stock_balance/stock_balance.py:576
#: erpnext/stock/report/stock_ledger/stock_ledger.js:8
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:442
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:445
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.js:18
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.js:8
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:8
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:32
#: erpnext/stock/report/total_stock_summary/total_stock_summary.js:17
#: erpnext/stock/report/total_stock_summary/total_stock_summary.py:29
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.js:8
@@ -11366,11 +11575,11 @@ msgstr ""
#: erpnext/public/js/setup_wizard.js:131
msgid "Company Abbreviation"
-msgstr "公司縮寫"
+msgstr ""
#: erpnext/public/js/setup_wizard.js:269
msgid "Company Abbreviation cannot have more than 5 characters"
-msgstr "公司縮寫不能超過5個字符"
+msgstr ""
#. Label of the account (Link) field in DocType 'Bank Account'
#: erpnext/accounts/doctype/bank_account/bank_account.json
@@ -11386,12 +11595,19 @@ msgstr ""
#. Invoice'
#. Label of the company_address (Link) field in DocType 'POS Profile'
#. Label of the company_address_display (Text Editor) field in DocType 'Sales
+#. Invoice'
#. Label of the company_address_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the company_address_display (Text Editor) field in DocType
#. 'Quotation'
#. Label of the company_address_section (Section Break) field in DocType
+#. 'Quotation'
+#. Label of the company_address_display (Text Editor) field in DocType 'Sales
#. Order'
#. Label of the col_break46 (Section Break) field in DocType 'Sales Order'
+#. Label of the company_address_display (Text Editor) field in DocType
+#. 'Delivery Note'
+#. Label of the company_address_section (Section Break) field in DocType
#. 'Delivery Note'
#: erpnext/accounts/doctype/dunning/dunning.json
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -11422,11 +11638,11 @@ msgstr ""
msgid "Company Address Name"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4409
+#: erpnext/controllers/accounts_controller.py:4450
msgid "Company Address is missing. You don't have permission to create an Address. Please contact your System Manager."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4397
+#: erpnext/controllers/accounts_controller.py:4438
msgid "Company Address is missing. You don't have permission to update it. Please contact your System Manager."
msgstr ""
@@ -11444,8 +11660,10 @@ msgstr ""
#. Label of the company_billing_address_section (Section Break) field in
#. DocType 'Purchase Invoice'
#. Label of the billing_address (Link) field in DocType 'Purchase Order'
+#. Label of the company_billing_address_section (Section Break) field in
#. DocType 'Purchase Order'
#. Label of the billing_address (Link) field in DocType 'Request for Quotation'
+#. Label of the company_billing_address_section (Section Break) field in
#. DocType 'Supplier Quotation'
#. Label of the billing_address (Link) field in DocType 'Supplier Quotation'
#. Label of the billing_address_section (Section Break) field in DocType
@@ -11504,9 +11722,9 @@ msgstr ""
#: erpnext/public/js/setup_wizard.js:172
msgid "Company Name cannot be Company"
-msgstr "公司名稱不能為公司"
+msgstr ""
-#: erpnext/accounts/custom/address.py:36
+#: erpnext/accounts/custom/address.py:38
msgid "Company Not Linked"
msgstr ""
@@ -11523,16 +11741,16 @@ msgstr ""
msgid "Company Tax ID"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:624
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:694
msgid "Company and Posting Date is mandatory"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2637
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2643
msgid "Company currencies of both the companies should match for Inter Company Transactions."
-msgstr "兩家公司的公司貨幣應該符合Inter公司交易。"
+msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:380
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:856
+#: erpnext/stock/doctype/material_request/material_request.js:381
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:832
msgid "Company field is required"
msgstr ""
@@ -11544,7 +11762,7 @@ msgstr ""
msgid "Company is mandatory for company account"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:437
+#: erpnext/accounts/doctype/subscription/subscription.py:441
msgid "Company is mandatory for generating an invoice. Please set a default company in Global Defaults."
msgstr ""
@@ -11558,9 +11776,9 @@ msgstr ""
msgid "Company link field name used for filtering (optional - leave empty to delete all records)"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:223
+#: erpnext/setup/doctype/company/company.js:234
msgid "Company name not same"
-msgstr "公司名稱不一樣"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:334
msgid "Company of asset {0} and purchase document {1} doesn't matches."
@@ -11597,7 +11815,7 @@ msgstr ""
msgid "Company {0} added multiple times"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:509
+#: erpnext/accounts/doctype/account/account.py:540
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1309
msgid "Company {0} does not exist"
msgstr ""
@@ -11639,7 +11857,7 @@ msgstr ""
#. Label of the competitors (Table MultiSelect) field in DocType 'Opportunity'
#. Label of the competitors (Table MultiSelect) field in DocType 'Quotation'
#: erpnext/crm/doctype/opportunity/opportunity.json
-#: erpnext/public/js/utils/sales_common.js:606
+#: erpnext/public/js/utils/sales_common.js:604
#: erpnext/selling/doctype/quotation/quotation.json
msgid "Competitors"
msgstr ""
@@ -11667,7 +11885,7 @@ msgstr ""
msgid "Completed On"
msgstr ""
-#: erpnext/projects/doctype/task/task.py:187
+#: erpnext/projects/doctype/task/task.py:188
msgid "Completed On cannot be greater than Today"
msgstr ""
@@ -11691,7 +11909,7 @@ msgstr ""
msgid "Completed Qty"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1479
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1538
msgid "Completed Qty cannot be greater than 'Qty to Manufacture'"
msgstr ""
@@ -11714,7 +11932,7 @@ msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/completed_work_orders/completed_work_orders.json
msgid "Completed Work Orders"
-msgstr "完成的工作訂單"
+msgstr ""
#: erpnext/projects/report/project_summary/project_summary.py:73
msgid "Completion"
@@ -11734,7 +11952,7 @@ msgstr ""
msgid "Completion Date"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:83
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:86
msgid "Completion Date can not be before Failure Date. Please adjust the dates accordingly."
msgstr ""
@@ -11820,7 +12038,7 @@ msgstr ""
msgid "Configure Chart of Accounts"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:56
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:45
msgid "Configure Product Assembly"
msgstr ""
@@ -11888,7 +12106,7 @@ msgstr ""
msgid "Consider Minimum Order Qty"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1090
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1094
msgid "Consider Process Loss"
msgstr ""
@@ -11938,6 +12156,7 @@ msgstr ""
#. Label of the included_in_paid_amount (Check) field in DocType 'Purchase
#. Taxes and Charges'
#. Label of the included_in_paid_amount (Check) field in DocType 'Sales Taxes
+#. and Charges'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
@@ -11970,7 +12189,7 @@ msgstr ""
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.json
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
msgid "Consolidated Financial Statement"
-msgstr "合併財務報表"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/financial_reports.json
@@ -11982,7 +12201,7 @@ msgstr ""
#. Log'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:580
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:581
msgid "Consolidated Sales Invoice"
msgstr ""
@@ -12009,12 +12228,12 @@ msgstr ""
msgid "Consulting"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:64
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:67
msgid "Consumable"
msgstr ""
#: erpnext/patches/v16_0/make_workstation_operating_components.py:48
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:315
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:318
msgid "Consumables"
msgstr ""
@@ -12028,7 +12247,7 @@ msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.json
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:60
msgid "Consumed"
-msgstr "消費"
+msgstr ""
#: erpnext/stock/report/item_wise_consumption/item_wise_consumption.py:62
msgid "Consumed Amount"
@@ -12069,6 +12288,7 @@ msgstr ""
#. Label of the consumed_qty (Float) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the consumed_qty (Float) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:153
#: erpnext/manufacturing/doctype/job_card_item/job_card_item.json
@@ -12081,9 +12301,9 @@ msgstr ""
#: 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 "Consumed Qty"
-msgstr "消耗的數量"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1881
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1944
msgid "Consumed Qty cannot be greater than Reserved Qty for item {0}"
msgstr ""
@@ -12120,7 +12340,7 @@ msgstr ""
msgid "Consumer Products"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:209
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:218
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:101
msgid "Consumption Rate"
msgstr ""
@@ -12240,7 +12460,7 @@ msgstr ""
msgid "Contact Person"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:605
+#: erpnext/controllers/accounts_controller.py:610
msgid "Contact Person does not belong to the {0}"
msgstr ""
@@ -12284,7 +12504,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/crm/doctype/contract_fulfilment_checklist/contract_fulfilment_checklist.json
msgid "Contract Fulfilment Checklist"
-msgstr "合同履行清單"
+msgstr ""
#. Label of the sb_terms (Section Break) field in DocType 'Contract'
#: erpnext/crm/doctype/contract/contract.json
@@ -12301,7 +12521,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/crm/doctype/contract_template_fulfilment_terms/contract_template_fulfilment_terms.json
msgid "Contract Template Fulfilment Terms"
-msgstr "合同模板履行條款"
+msgstr ""
#. Label of the contract_template_help (HTML) field in DocType 'Contract
#. Template'
@@ -12333,7 +12553,7 @@ msgstr ""
#: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:89
#: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:139
msgid "Contribution Amount"
-msgstr "貢獻金額"
+msgstr ""
#: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:133
msgid "Contribution Qty"
@@ -12384,6 +12604,8 @@ msgstr ""
#. Label of the conversion_factor (Float) field in DocType 'Delivery Schedule
#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Packed Item'
+#. Label of the conversion_factor (Float) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Putaway Rule'
#. Label of the conversion_factor (Float) field in DocType 'Stock Entry Detail'
#. Label of the conversion_factor (Float) field in DocType 'UOM Conversion
@@ -12391,9 +12613,13 @@ msgstr ""
#. Label of the conversion_factor (Float) field in DocType 'Subcontracting BOM'
#. Label of the conversion_factor (Float) field in DocType 'Subcontracting
#. Inward Order Item'
+#. Label of the conversion_factor (Float) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the conversion_factor (Float) field in DocType 'Subcontracting
#. Order Supplied Item'
+#. Label of the conversion_factor (Float) field in DocType 'Subcontracting
#. Receipt Item'
+#. Label of the conversion_factor (Float) field in DocType 'Subcontracting
#. Receipt Supplied Item'
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
@@ -12402,7 +12628,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
#: erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
-#: erpnext/public/js/utils.js:920
+#: erpnext/public/js/utils.js:923
#: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -12416,7 +12642,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 "Conversion Factor"
-msgstr "轉換因子"
+msgstr ""
#. Label of the conversion_rate (Float) field in DocType 'Dunning'
#. Label of the conversion_rate (Float) field in DocType 'BOM'
@@ -12426,25 +12652,25 @@ msgstr "轉換因子"
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.js:93
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.json
msgid "Conversion Rate"
-msgstr "兌換率"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:445
msgid "Conversion factor for default Unit of Measure must be 1 in row {0}"
-msgstr "預設計量單位的轉換因子必須是1在行{0}"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:158
+#: erpnext/controllers/stock_controller.py:177
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:2999
+#: erpnext/controllers/accounts_controller.py:3004
msgid "Conversion rate cannot be 0"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3006
+#: erpnext/controllers/accounts_controller.py:3011
msgid "Conversion rate is 1.00, but document currency is different from company currency"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3002
+#: erpnext/controllers/accounts_controller.py:3007
msgid "Conversion rate must be 1.00 if document currency is same as company currency"
msgstr ""
@@ -12457,12 +12683,12 @@ msgstr ""
#: erpnext/accounts/doctype/account/account.js:124
#: erpnext/accounts/doctype/cost_center/cost_center.js:123
msgid "Convert to Group"
-msgstr "轉換為集團"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.js:53
msgctxt "Warehouse"
msgid "Convert to Group"
-msgstr "轉換為集團"
+msgstr ""
#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.js:10
msgid "Convert to Item Based Reposting"
@@ -12485,7 +12711,7 @@ msgstr ""
#: erpnext/crm/report/lead_details/lead_details.js:40
#: erpnext/selling/page/sales_funnel/sales_funnel.py:58
msgid "Converted"
-msgstr "轉換"
+msgstr ""
#. Label of the copied_from (Data) field in DocType 'Project'
#: erpnext/projects/doctype/project/project.json
@@ -12588,6 +12814,7 @@ msgstr ""
#. Label of the cost_center (Link) field in DocType 'Loyalty Program'
#. Label of the cost_center (Link) field in DocType 'Opening Invoice Creation
#. Tool'
+#. Label of the cost_center (Link) field in DocType 'Opening Invoice Creation
#. Tool Item'
#. Label of the cost_center (Link) field in DocType 'Payment Entry'
#. Label of the cost_center (Link) field in DocType 'Payment Entry Deduction'
@@ -12595,6 +12822,7 @@ msgstr ""
#. Label of the cost_center (Link) field in DocType 'Payment Reconciliation'
#. Label of the cost_center (Link) field in DocType 'Payment Reconciliation
#. Allocation'
+#. Label of the cost_center (Link) field in DocType 'Payment Reconciliation
#. Payment'
#. Label of the cost_center (Link) field in DocType 'Payment Request'
#. Label of the cost_center (Link) field in DocType 'POS Invoice'
@@ -12622,6 +12850,7 @@ msgstr ""
#. Label of the cost_center (Link) field in DocType 'Asset Capitalization
#. Service Item'
#. Label of the cost_center (Link) field in DocType 'Asset Capitalization Stock
+#. Item'
#. Label of the cost_center (Link) field in DocType 'Asset Repair'
#. Label of the cost_center (Link) field in DocType 'Asset Value Adjustment'
#. Label of the cost_center (Link) field in DocType 'Purchase Order'
@@ -12643,6 +12872,8 @@ msgstr ""
#. Label of the cost_center (Link) field in DocType 'Subcontracting Order Item'
#. 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'
#. Label of a Workspace Sidebar Item
#: banking/src/components/features/BankReconciliation/BankEntryModalContent.tsx:567
@@ -12689,7 +12920,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:28
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:47
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:30
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1192
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1199
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:47
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js:42
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:204
@@ -12697,7 +12928,7 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.js:154
#: erpnext/accounts/report/general_ledger/general_ledger.py:800
#: erpnext/accounts/report/gross_profit/gross_profit.js:68
-#: erpnext/accounts/report/gross_profit/gross_profit.py:395
+#: erpnext/accounts/report/gross_profit/gross_profit.py:397
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:305
#: erpnext/accounts/report/purchase_register/purchase_register.js:46
#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:29
@@ -12720,7 +12951,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
#: erpnext/buying/report/procurement_tracker/procurement_tracker.js:15
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:32
-#: erpnext/public/js/financial_statements.js:475
+#: erpnext/public/js/financial_statements.js:495
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -12770,14 +13001,18 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.json
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:38
msgid "Cost Center Number"
-msgstr "成本中心編號"
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:122
+msgid "Cost Center Validation Error"
+msgstr ""
#. Label of a Card Break in the Invoicing Workspace
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Cost Center and Budgeting"
msgstr ""
-#: erpnext/public/js/utils/sales_common.js:540
+#: erpnext/public/js/utils/sales_common.js:538
msgid "Cost Center for Item rows has been updated to {0}"
msgstr ""
@@ -12789,10 +13024,10 @@ msgstr ""
msgid "Cost Center is required"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1472
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:908
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1508
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:898
msgid "Cost Center is required in row {0} in Taxes table for type {1}"
-msgstr "成本中心是必需的行{0}稅表型{1}"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:72
msgid "Cost Center with Allocation records can not be converted to a group"
@@ -12800,11 +13035,11 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:78
msgid "Cost Center with existing transactions can not be converted to group"
-msgstr "與現有的交易成本中心,不能轉化為組"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:63
msgid "Cost Center with existing transactions can not be converted to ledger"
-msgstr "與現有的交易成本中心,不能轉換為總賬"
+msgstr ""
#: erpnext/accounts/doctype/cost_center_allocation/cost_center_allocation.py:152
msgid "Cost Center {0} cannot be used for allocation as it is used as main cost center in other allocation record."
@@ -12822,7 +13057,7 @@ msgstr ""
msgid "Cost Center: {0} does not exist"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:113
+#: erpnext/setup/doctype/company/company.js:124
msgid "Cost Centers"
msgstr ""
@@ -12859,7 +13094,7 @@ msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:41
msgid "Cost of Delivered Items"
-msgstr "交付項目成本"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#. Label of the cost_of_good_sold_section (Section Break) field in DocType
@@ -12870,15 +13105,15 @@ msgstr "交付項目成本"
#: erpnext/accounts/report/account_balance/account_balance.js:43
#: erpnext/stock/doctype/item_default/item_default.json
msgid "Cost of Goods Sold"
-msgstr "銷貨成本"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:898
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:919
msgid "Cost of Goods Sold Account in Items Table"
msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:40
msgid "Cost of Issued Items"
-msgstr "發布項目成本"
+msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.json
@@ -12887,11 +13122,11 @@ msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:39
msgid "Cost of Purchased Items"
-msgstr "購買的物品成本"
+msgstr ""
#: erpnext/config/projects.py:67
msgid "Cost of various activities"
-msgstr "各種活動的費用"
+msgstr ""
#. Label of the ctc (Currency) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -12951,13 +13186,13 @@ msgstr ""
msgid "Could Not Delete Demo Data"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:624
+#: erpnext/selling/doctype/quotation/quotation.py:639
msgid "Could not auto create Customer due to the following missing mandatory field(s):"
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:656
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:668
msgid "Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again"
-msgstr "無法自動創建Credit Note,請取消選中'Issue Credit Note'並再次提交"
+msgstr ""
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.py:978
msgid "Could not detect any tables in this PDF. It may be a scanned or image-based statement, which is not supported (no OCR)."
@@ -12974,7 +13209,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py:46
#: erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py:50
msgid "Could not find path for "
-msgstr "找不到路徑"
+msgstr ""
#: banking/src/components/features/BankStatementImporter/PDF/PDFTableEditor.tsx:101
msgid "Could not re-extract the table."
@@ -12983,7 +13218,7 @@ msgstr ""
#: erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py:125
#: erpnext/accounts/report/financial_statements.py:242
msgid "Could not retrieve information for {0}."
-msgstr "無法檢索{0}的信息。"
+msgstr ""
#: banking/src/components/features/BankStatementImporter/CSV/CSVRawDataPreview.tsx:65
msgid "Could not save the column mapping."
@@ -12995,11 +13230,11 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py:80
msgid "Could not solve criteria score function for {0}. Make sure the formula is valid."
-msgstr "無法解決{0}的標準分數函數。確保公式有效。"
+msgstr ""
#: erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py:100
msgid "Could not solve weighted score function. Make sure the formula is valid."
-msgstr "無法解決加權分數函數。確保公式有效。"
+msgstr ""
#: banking/src/components/features/BankStatementImporter/CSV/CSVRawDataPreview.tsx:88
#: banking/src/components/features/BankStatementImporter/PDF/PDFTableEditor.tsx:158
@@ -13062,7 +13297,7 @@ msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:84
#: erpnext/templates/form_grid/bank_reconciliation_grid.html:16
msgid "Cr"
-msgstr "鉻"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Create Asset Category'
@@ -13122,7 +13357,7 @@ msgstr ""
#: erpnext/utilities/activation.py:135
msgid "Create Employee Records"
-msgstr "建立員工檔案"
+msgstr ""
#: erpnext/utilities/activation.py:136
msgid "Create Employee records."
@@ -13153,7 +13388,7 @@ msgstr ""
msgid "Create Inter Company Journal Entry"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:55
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:62
msgid "Create Invoices"
msgstr ""
@@ -13189,7 +13424,7 @@ msgstr ""
#: erpnext/utilities/activation.py:77
msgid "Create Leads"
-msgstr "建立潛在客戶"
+msgstr ""
#. Label of the post_change_gl_entries (Check) field in DocType 'POS Settings'
#: erpnext/accounts/doctype/pos_settings/pos_settings.json
@@ -13251,7 +13486,7 @@ msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Create Payment Entry'
-#: erpnext/accounts/doctype/payment_request/payment_request.js:66
+#: erpnext/accounts/doctype/payment_request/payment_request.js:68
#: erpnext/accounts/onboarding_step/create_payment_entry/create_payment_entry.json
msgid "Create Payment Entry"
msgstr ""
@@ -13260,7 +13495,7 @@ msgstr ""
msgid "Create Payment Entry for Consolidated POS Invoices."
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:565
+#: erpnext/public/js/controllers/transaction.js:579
msgid "Create Payment Request"
msgstr ""
@@ -13270,7 +13505,7 @@ msgstr ""
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.js:11
msgid "Create Print Format"
-msgstr "創建打印格式"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Create Project'
@@ -13294,11 +13529,11 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1711
#: erpnext/utilities/activation.py:106
msgid "Create Purchase Order"
-msgstr "創建採購訂單"
+msgstr ""
#: erpnext/utilities/activation.py:104
msgid "Create Purchase Orders"
-msgstr "創建採購訂單"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Create Purchase Receipt'
@@ -13339,9 +13574,9 @@ msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Create Sales Invoice'
#: erpnext/accounts/onboarding_step/create_sales_invoice/create_sales_invoice.json
-#: erpnext/projects/doctype/timesheet/timesheet.js:55
-#: erpnext/projects/doctype/timesheet/timesheet.js:231
-#: erpnext/projects/doctype/timesheet/timesheet.js:235
+#: erpnext/projects/doctype/timesheet/timesheet.js:56
+#: erpnext/projects/doctype/timesheet/timesheet.js:233
+#: erpnext/projects/doctype/timesheet/timesheet.js:237
#: erpnext/selling/onboarding_step/create_sales_invoice/create_sales_invoice.json
msgid "Create Sales Invoice"
msgstr ""
@@ -13351,7 +13586,7 @@ msgstr ""
#: erpnext/selling/onboarding_step/create_sales_order/create_sales_order.json
#: erpnext/utilities/activation.py:97
msgid "Create Sales Order"
-msgstr "創建銷售訂單"
+msgstr ""
#: erpnext/utilities/activation.py:96
msgid "Create Sales Orders to help you plan your work and deliver on-time"
@@ -13364,7 +13599,7 @@ msgid "Create Service Item"
msgstr ""
#: erpnext/stock/dashboard/item_dashboard.js:283
-#: erpnext/stock/doctype/material_request/material_request.js:478
+#: erpnext/stock/doctype/material_request/material_request.js:649
msgid "Create Stock Entry"
msgstr ""
@@ -13409,7 +13644,7 @@ msgstr ""
msgid "Create Tasks"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:157
+#: erpnext/setup/doctype/company/company.js:168
msgid "Create Tax Template"
msgstr ""
@@ -13430,7 +13665,7 @@ msgstr ""
#: erpnext/setup/doctype/employee/employee.js:52
#: erpnext/utilities/activation.py:117
msgid "Create User"
-msgstr "創建用戶"
+msgstr ""
#. Label of the create_user_automatically (Check) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -13445,14 +13680,14 @@ msgstr ""
#: erpnext/utilities/activation.py:113
msgid "Create Users"
-msgstr "創建用戶"
+msgstr ""
-#: erpnext/stock/doctype/item/item.js:1097
+#: erpnext/stock/doctype/item/item.js:1103
msgid "Create Variant"
-msgstr "創建變體"
+msgstr ""
-#: erpnext/stock/doctype/item/item.js:909
-#: erpnext/stock/doctype/item/item.js:946
+#: erpnext/stock/doctype/item/item.js:915
+#: erpnext/stock/doctype/item/item.js:952
msgid "Create Variants"
msgstr ""
@@ -13471,6 +13706,10 @@ msgstr ""
msgid "Create Workstation"
msgstr ""
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:228
+msgid "Create a Stock Closing Entry for the entire company with To Date as {0} before submitting the Period Closing Voucher."
+msgstr ""
+
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:683
msgid "Create a journal entry for expenses, income or split transactions"
msgstr ""
@@ -13483,18 +13722,18 @@ msgstr ""
msgid "Create a new rule to automatically classify transactions."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:929
-#: erpnext/stock/doctype/item/item.js:1090
+#: erpnext/stock/doctype/item/item.js:935
+#: erpnext/stock/doctype/item/item.js:1096
msgid "Create a variant with the template image."
msgstr ""
-#: erpnext/stock/stock_ledger.py:2033
+#: erpnext/stock/stock_ledger.py:2095
msgid "Create an incoming stock transaction for the Item."
msgstr ""
#: erpnext/utilities/activation.py:86
msgid "Create customer quotes"
-msgstr "創建客戶報價"
+msgstr ""
#. Label of an action in the Onboarding Step 'Create Delivery Note'
#: erpnext/selling/onboarding_step/create_delivery_note/create_delivery_note.json
@@ -13522,6 +13761,11 @@ msgstr ""
msgid "Created By Migration"
msgstr ""
+#. Label of the created_through_portal (Check) field in DocType 'Appointment'
+#: erpnext/crm/doctype/appointment/appointment.json
+msgid "Created through Portal"
+msgstr ""
+
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py:251
msgid "Created {0} scorecards for {1} between:"
msgstr ""
@@ -13559,7 +13803,7 @@ msgstr ""
msgid "Creating Dimensions..."
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:92
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:102
msgid "Creating Journal Entries..."
msgstr ""
@@ -13567,7 +13811,7 @@ msgstr ""
msgid "Creating Packing Slip ..."
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:61
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:68
msgid "Creating Purchase Invoices ..."
msgstr ""
@@ -13575,7 +13819,7 @@ msgstr ""
msgid "Creating Purchase Order ..."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:729
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:727
#: erpnext/buying/doctype/purchase_order/purchase_order.js:506
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:74
msgid "Creating Purchase Receipt ..."
@@ -13585,7 +13829,7 @@ msgstr ""
msgid "Creating Return of Components ..."
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:59
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:66
msgid "Creating Sales Invoices ..."
msgstr ""
@@ -13613,12 +13857,12 @@ msgstr ""
msgid "Creating demo data"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:317
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:327
msgid "Creating {} out of {} {}"
msgstr ""
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:141
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:165
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:174
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:46
msgid "Creation"
msgstr ""
@@ -13628,14 +13872,12 @@ msgid "Creation of {1}(s) successful"
msgstr ""
#: erpnext/utilities/bulk_transaction.py:227
-msgid ""
-"Creation of {0} failed.\n"
+msgid "Creation of {0} failed.\n"
"\t\t\t\tCheck Bulk Transaction Log"
msgstr ""
#: erpnext/utilities/bulk_transaction.py:218
-msgid ""
-"Creation of {0} partially successful.\n"
+msgid "Creation of {0} partially successful.\n"
"\t\t\t\tCheck Bulk Transaction Log"
msgstr ""
@@ -13666,7 +13908,14 @@ msgstr ""
#: 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 "信用"
+msgstr ""
+
+#. Label of the credit_limits (Table) field in DocType 'Customer'
+#. Label of the credit_limits (Table) field in DocType 'Customer Group'
+#: erpnext/selling/doctype/customer/customer.json
+#: erpnext/setup/doctype/customer_group/customer_group.json
+msgid "Credit & Overdue Limits"
+msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:744
msgid "Credit (Transaction)"
@@ -13676,9 +13925,9 @@ msgstr ""
msgid "Credit ({0})"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:650
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:651
msgid "Credit Account"
-msgstr "信用科目"
+msgstr ""
#. Label of the credit (Currency) field in DocType 'Account Closing Balance'
#. Label of the credit (Currency) field in DocType 'GL Entry'
@@ -13713,9 +13962,9 @@ msgstr ""
#: erpnext/selling/report/customer_credit_balance/customer_credit_balance.py:67
msgid "Credit Balance"
-msgstr "貸方餘額"
+msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:258
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:261
msgid "Credit Card"
msgstr ""
@@ -13737,23 +13986,19 @@ msgstr ""
msgid "Credit Days"
msgstr ""
-#. Label of the credit_limits (Table) field in DocType 'Customer'
#. Label of the credit_limit (Currency) field in DocType 'Customer Credit
#. Limit'
#. Label of the credit_limit (Currency) field in DocType 'Company'
-#. Label of the credit_limits (Table) field in DocType 'Customer Group'
#. Label of the section_credit_limit (Section Break) field in DocType 'Supplier
#. Group'
-#: erpnext/selling/doctype/customer/customer.json
#: erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
#: erpnext/selling/report/customer_credit_balance/customer_credit_balance.py:65
#: erpnext/setup/doctype/company/company.json
-#: erpnext/setup/doctype/customer_group/customer_group.json
#: erpnext/setup/doctype/supplier_group/supplier_group.json
msgid "Credit Limit"
-msgstr "信用額度"
+msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:645
+#: erpnext/selling/doctype/customer/customer.py:658
msgid "Credit Limit Crossed"
msgstr ""
@@ -13788,19 +14033,19 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:176
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1216
-#: erpnext/controllers/sales_and_purchase_return.py:455
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:303
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1223
+#: erpnext/controllers/sales_and_purchase_return.py:473
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:306
#: erpnext/stock/doctype/delivery_note/delivery_note.js:89
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/workspace_sidebar/invoicing.json
msgid "Credit Note"
-msgstr "信用票據"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:203
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html:137
msgid "Credit Note Amount"
-msgstr "信用額度"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'POS Invoice'
#. Option for the 'Status' (Select) field in DocType 'Sales Invoice'
@@ -13808,7 +14053,7 @@ msgstr "信用額度"
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:282
msgid "Credit Note Issued"
-msgstr "信用票據發行"
+msgstr ""
#. Description of the 'Update Outstanding for Self' (Check) field in DocType
#. 'Sales Invoice'
@@ -13816,15 +14061,15 @@ msgstr "信用票據發行"
msgid "Credit Note will update it's own outstanding amount, even if 'Return Against' is specified."
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:653
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:665
msgid "Credit Note {0} has been created automatically"
-msgstr "信用票據{0}已自動創建"
+msgstr ""
#. Label of the credit_to (Link) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:383
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:391
-#: erpnext/controllers/accounts_controller.py:2403
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:393
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:401
+#: erpnext/controllers/accounts_controller.py:2408
msgid "Credit To"
msgstr ""
@@ -13833,16 +14078,16 @@ msgstr ""
msgid "Credit in Company Currency"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:611
-#: erpnext/selling/doctype/customer/customer.py:666
+#: erpnext/selling/doctype/customer/customer.py:624
+#: erpnext/selling/doctype/customer/customer.py:679
msgid "Credit limit has been crossed for customer {0} ({1}/{2})"
-msgstr "客戶{0}({1} / {2})的信用額度已超過"
+msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:396
+#: erpnext/selling/doctype/customer/customer.py:406
msgid "Credit limit is already defined for the Company {0}"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:665
+#: erpnext/selling/doctype/customer/customer.py:678
msgid "Credit limit reached for customer {0}"
msgstr ""
@@ -13853,7 +14098,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:155
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:257
msgid "Creditors"
-msgstr "債權人"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankTransactionList.tsx:392
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:264
@@ -13867,6 +14112,7 @@ msgstr ""
#. Label of the formula (Small Text) field in DocType 'Supplier Scorecard
#. Criteria'
+#. Label of the formula (Small Text) field in DocType 'Supplier Scorecard
#. Scoring Criteria'
#: erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json
#: erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
@@ -13901,7 +14147,7 @@ msgstr ""
msgid "Criteria weights must add up to 100%"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:188
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:195
msgid "Cron Interval should be between 1 and 59 Min"
msgstr ""
@@ -13963,7 +14209,7 @@ msgstr ""
#: erpnext/setup/doctype/currency_exchange/currency_exchange.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Currency Exchange"
-msgstr "外幣兌換"
+msgstr ""
#. Label of the currency_exchange_section (Section Break) field in DocType
#. 'Accounts Settings'
@@ -13974,7 +14220,7 @@ msgstr "外幣兌換"
#: erpnext/workspace_sidebar/accounts_setup.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Currency Exchange Settings"
-msgstr "貨幣兌換設置"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/currency_exchange_settings_details/currency_exchange_settings_details.json
@@ -13988,18 +14234,25 @@ msgstr ""
#: erpnext/setup/doctype/currency_exchange/currency_exchange.py:55
msgid "Currency Exchange must be applicable for Buying or for Selling."
-msgstr "貨幣兌換必須適用於買入或賣出。"
+msgstr ""
#. Label of the currency_and_price_list (Section Break) field in DocType 'POS
#. Invoice'
#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Purchase Invoice'
#. Label of the currency_and_price_list (Section Break) field in DocType 'Sales
+#. Invoice'
+#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Purchase Order'
+#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Supplier Quotation'
+#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Quotation'
+#. Label of the currency_and_price_list (Section Break) field in DocType 'Sales
#. Order'
+#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Delivery Note'
+#. Label of the currency_and_price_list (Section Break) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -14013,9 +14266,9 @@ msgstr "貨幣兌換必須適用於買入或賣出。"
msgid "Currency and Price List"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:346
+#: erpnext/accounts/doctype/account/account.py:377
msgid "Currency can not be changed after making entries using some other currency"
-msgstr "貨幣不能使用其他貨幣進行輸入後更改"
+msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:258
msgid "Currency filters are currently unsupported in Custom Financial Report."
@@ -14023,21 +14276,21 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1625
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1693
-#: erpnext/accounts/utils.py:2533
+#: erpnext/accounts/utils.py:2527
msgid "Currency for {0} must be {1}"
-msgstr "貨幣{0}必須{1}"
+msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:131
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:143
msgid "Currency of the Closing Account must be {0}"
-msgstr "關閉科目的貨幣必須是{0}"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:724
msgid "Currency of the price list {0} must be {1} or {2}"
-msgstr "價目表{0}的貨幣必須是{1}或{2}"
+msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:298
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:316
msgid "Currency should be same as Price List Currency: {0}"
-msgstr "貨幣應與價目表貨幣相同:{0}"
+msgstr ""
#. Label of the current_address (Small Text) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -14072,7 +14325,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:11
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:11
msgid "Current Assets"
-msgstr "流動資產"
+msgstr ""
#. Label of the current_bom (Link) field in DocType 'BOM Update Log'
#. Label of the current_bom (Link) field in DocType 'BOM Update Tool'
@@ -14083,7 +14336,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:80
msgid "Current BOM and New BOM can not be same"
-msgstr "當前BOM和新BOM不能相同"
+msgstr ""
#. Label of the current_exchange_rate (Float) field in DocType 'Exchange Rate
#. Revaluation Account'
@@ -14109,7 +14362,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:153
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:255
msgid "Current Liabilities"
-msgstr "流動負債"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -14127,7 +14380,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
#: erpnext/stock/report/total_stock_summary/total_stock_summary.py:23
msgid "Current Qty"
-msgstr "目前數量"
+msgstr ""
#: erpnext/accounts/report/financial_ratios/financial_ratios.py:154
msgid "Current Ratio"
@@ -14162,7 +14415,7 @@ msgstr ""
#: erpnext/stock/report/item_variant_details/item_variant_details.py:106
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Current Stock"
-msgstr "當前庫存"
+msgstr ""
#. Label of the current_valuation_rate (Currency) field in DocType 'Stock
#. Reconciliation Item'
@@ -14241,6 +14494,7 @@ msgstr ""
#. Option for the 'Applicable For' (Select) field in DocType 'Promotional
#. Scheme'
#. Label of the customer (Table MultiSelect) field in DocType 'Promotional
+#. Scheme'
#. Label of the customer (Link) field in DocType 'Sales Invoice'
#. Label of the customer (Link) field in DocType 'Sales Invoice Reference'
#. Label of the customer (Link) field in DocType 'Tax Rule'
@@ -14308,7 +14562,7 @@ msgstr ""
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:38
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:29
#: erpnext/accounts/report/general_ledger/general_ledger.html:136
-#: erpnext/accounts/report/gross_profit/gross_profit.py:416
+#: erpnext/accounts/report/gross_profit/gross_profit.py:418
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:38
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js:22
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:221
@@ -14320,7 +14574,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/supplier/supplier.js:225
-#: erpnext/crm/doctype/contract/contract.json
+#: erpnext/controllers/trends.py:421 erpnext/crm/doctype/contract/contract.json
#: erpnext/crm/doctype/lead/lead.js:32
#: erpnext/crm/doctype/opportunity/opportunity.js:99
#: erpnext/crm/doctype/prospect/prospect.js:8
@@ -14332,7 +14586,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
#: erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
#: erpnext/projects/doctype/project/project.json
-#: erpnext/projects/doctype/timesheet/timesheet.js:223
+#: erpnext/projects/doctype/timesheet/timesheet.js:225
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:45
#: erpnext/public/js/sales_trends_filters.js:25
@@ -14402,7 +14656,7 @@ msgstr ""
#: erpnext/workspace_sidebar/selling.json
#: erpnext/workspace_sidebar/subscription.json
msgid "Customer"
-msgstr "客戶"
+msgstr ""
#. Label of the customer (Link) field in DocType 'Customer Item'
#: erpnext/accounts/doctype/customer_item/customer_item.json
@@ -14431,7 +14685,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Customer Acquisition and Loyalty"
-msgstr "客戶取得和忠誠度"
+msgstr ""
#. Label of the customer_address (Link) field in DocType 'Dunning'
#. Label of the customer_address (Link) field in DocType 'POS Invoice'
@@ -14461,7 +14715,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Customer Addresses And Contacts"
-msgstr "客戶的地址和聯絡方式"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:159
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:269
@@ -14478,11 +14732,11 @@ msgstr ""
#. Label of the customer_contact_display (Small Text) field in DocType
#. 'Purchase Order'
#. Label of the customer_contact (Small Text) field in DocType 'Delivery Stop'
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1186
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1193
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/stock/doctype/delivery_stop/delivery_stop.json
msgid "Customer Contact"
-msgstr "客戶聯絡"
+msgstr ""
#. Label of the customer_contact_email (Code) field in DocType 'Purchase Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -14499,7 +14753,7 @@ msgstr ""
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/selling.json
msgid "Customer Credit Balance"
-msgstr "客戶信用平衡"
+msgstr ""
#. Name of a DocType
#: erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
@@ -14584,15 +14838,16 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:115
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1244
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1251
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:96
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:185
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:56
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:163
-#: erpnext/accounts/report/gross_profit/gross_profit.py:423
+#: erpnext/accounts/report/gross_profit/gross_profit.py:425
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:208
#: erpnext/accounts/report/sales_register/sales_register.js:27
#: erpnext/accounts/report/sales_register/sales_register.py:216
+#: erpnext/controllers/trends.py:448
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/crm/workspace/crm/crm.json
@@ -14618,7 +14873,7 @@ msgstr ""
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/selling.json
msgid "Customer Group"
-msgstr "客戶群組"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/customer_group_item/customer_group_item.json
@@ -14645,13 +14900,13 @@ msgstr ""
msgid "Customer Items"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1235
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1242
msgid "Customer LPO"
-msgstr "客戶LPO"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:185
msgid "Customer LPO No."
-msgstr "客戶LPO號"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/financial_reports.json
@@ -14697,14 +14952,15 @@ msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1175
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1182
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:156
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:92
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:35
-#: erpnext/accounts/report/gross_profit/gross_profit.py:430
+#: erpnext/accounts/report/gross_profit/gross_profit.py:432
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:228
#: erpnext/accounts/report/sales_register/sales_register.py:207
#: erpnext/buying/doctype/purchase_order/purchase_order.json
+#: erpnext/controllers/trends.py:428
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.json
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
@@ -14723,7 +14979,7 @@ msgstr ""
#: erpnext/support/doctype/issue/issue.json
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
msgid "Customer Name"
-msgstr "客戶名稱"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:22
msgid "Customer Name: "
@@ -14758,6 +15014,7 @@ msgstr ""
#. Label of the customer_po_details (Section Break) field in DocType 'POS
#. Invoice'
#. Label of the customer_po_details (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the customer_po_details (Section Break) field in DocType 'Delivery
#. Note'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -14802,9 +15059,9 @@ msgstr ""
msgid "Customer Provided Item Cost"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:488
+#: erpnext/setup/doctype/company/company.py:490
msgid "Customer Service"
-msgstr "顧客服務"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:13
msgid "Customer Service Representative"
@@ -14843,12 +15100,12 @@ msgstr ""
#: erpnext/support/doctype/warranty_claim/warranty_claim.py:54
msgid "Customer is required"
-msgstr "客戶是必需的"
+msgstr ""
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.py:135
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.py:157
msgid "Customer isn't enrolled in any Loyalty Program"
-msgstr "客戶未加入任何忠誠度計劃"
+msgstr ""
#. Label of the customer_or_item (Select) field in DocType 'Authorization Rule'
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
@@ -14857,13 +15114,13 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:95
msgid "Customer required for 'Customerwise Discount'"
-msgstr "需要' Customerwise折扣“客戶"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1190
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1196
#: erpnext/selling/doctype/sales_order/sales_order.py:436
#: erpnext/stock/doctype/delivery_note/delivery_note.py:407
msgid "Customer {0} does not belong to project {1}"
-msgstr "客戶{0}不屬於項目{1}"
+msgstr ""
#. Label of the customer_item_code (Data) field in DocType 'POS Invoice Item'
#. Label of the customer_item_code (Data) field in DocType 'Sales Invoice Item'
@@ -14936,7 +15193,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Customers Without Any Sales Transactions"
-msgstr "沒有任何銷售交易的客戶"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:107
msgid "Customers not selected."
@@ -14954,7 +15211,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Customs Tariff Number"
-msgstr "海關稅則號"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -14962,7 +15219,7 @@ msgid "Cycle/Second"
msgstr ""
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:204
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:254
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:263
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:146
msgid "D - E"
msgstr ""
@@ -14973,7 +15230,7 @@ msgstr ""
msgid "DFS"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:680
+#: erpnext/projects/doctype/project/project.py:712
msgid "Daily Project Summary for {0}"
msgstr ""
@@ -14993,7 +15250,7 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/projects.json
msgid "Daily Timesheet Summary"
-msgstr "每日時間表摘要"
+msgstr ""
#. Label of the daily_yield (Percent) field in DocType 'Item Lead Time'
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
@@ -15057,16 +15314,16 @@ msgstr ""
#: erpnext/setup/doctype/employee/employee.py:257
msgid "Date of Birth cannot be greater than today."
-msgstr "出生日期不能大於今天。"
+msgstr ""
#. Label of the date_of_commencement (Date) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
msgid "Date of Commencement"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:94
+#: erpnext/setup/doctype/company/company.js:105
msgid "Date of Commencement should be greater than Date of Incorporation"
-msgstr "開始日期應大於公司註冊日期"
+msgstr ""
#. Label of the date_of_establishment (Date) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -15088,7 +15345,7 @@ msgstr ""
msgid "Date of Joining"
msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:272
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:270
msgid "Date of Transaction"
msgstr ""
@@ -15128,9 +15385,11 @@ msgstr ""
#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Schedule'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Term'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Term'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Terms
#. Template Detail'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Terms Template Detail'
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/accounts/doctype/payment_term/payment_term.json
@@ -15143,9 +15402,11 @@ msgstr ""
#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Schedule'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Term'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Term'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Terms
#. Template Detail'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Terms Template Detail'
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/accounts/doctype/payment_term/payment_term.json
@@ -15163,7 +15424,7 @@ msgstr ""
#: erpnext/selling/report/inactive_customers/inactive_customers.js:8
#: erpnext/selling/report/inactive_customers/inactive_customers.py:107
msgid "Days Since Last Order"
-msgstr "天自上次訂購"
+msgstr ""
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js:34
msgid "Days Since Last order"
@@ -15232,7 +15493,7 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:712
msgid "Debit ({0})"
-msgstr "借記卡({0})"
+msgstr ""
#. Label of the debit_or_credit_note_posting_date (Date) field in DocType
#. 'Payment Reconciliation Allocation'
@@ -15240,7 +15501,7 @@ msgstr "借記卡({0})"
msgid "Debit / Credit Note Posting Date"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:640
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:641
msgid "Debit Account"
msgstr ""
@@ -15282,18 +15543,18 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:178
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1219
-#: erpnext/controllers/sales_and_purchase_return.py:459
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:304
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1226
+#: erpnext/controllers/sales_and_purchase_return.py:477
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:307
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:45
#: erpnext/workspace_sidebar/invoicing.json
msgid "Debit Note"
-msgstr "繳費單"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:205
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html:137
msgid "Debit Note Amount"
-msgstr "借方票據金額"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -15310,19 +15571,19 @@ msgstr ""
#. Label of the debit_to (Link) field in DocType 'Sales Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1061
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1072
-#: erpnext/controllers/accounts_controller.py:2403
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1067
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1078
+#: erpnext/controllers/accounts_controller.py:2408
msgid "Debit To"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1057
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1063
msgid "Debit To is required"
-msgstr "借方是必填項"
+msgstr ""
#: erpnext/accounts/general_ledger.py:538
msgid "Debit and Credit not equal for {0} #{1}. Difference is {2}."
-msgstr "借貸{0}#不等於{1}。區別是{2}。"
+msgstr ""
#. Label of the debit (Currency) field in DocType 'Journal Entry Account'
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
@@ -15364,18 +15625,18 @@ msgstr ""
msgid "Debtor Turnover Ratio"
msgstr ""
-#: erpnext/accounts/party.py:624
+#: erpnext/accounts/party.py:640
msgid "Debtor/Creditor"
msgstr ""
-#: erpnext/accounts/party.py:627
+#: erpnext/accounts/party.py:643
msgid "Debtor/Creditor Advance"
msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:13
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:13
msgid "Debtors"
-msgstr "債務人"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -15392,13 +15653,14 @@ msgstr ""
msgid "Decimeter"
msgstr ""
-#: erpnext/public/js/utils/sales_common.js:633
+#: erpnext/public/js/utils/sales_common.js:631
msgid "Declare Lost"
msgstr ""
#. Option for the 'Add Or Deduct' (Select) field in DocType 'Advance Taxes and
#. Charges'
#. Option for the 'Add or Deduct' (Select) field in DocType 'Purchase Taxes and
+#. Charges'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
msgid "Deduct"
@@ -15456,7 +15718,7 @@ msgstr ""
#: erpnext/projects/doctype/activity_cost/activity_cost.py:62
msgid "Default Activity Cost exists for Activity Type - {0}"
-msgstr "默認情況下存在作業成本的活動類型 - {0}"
+msgstr ""
#. Label of the default_advance_account (Link) field in DocType 'Payment
#. Reconciliation'
@@ -15469,14 +15731,14 @@ msgstr ""
#. Label of the default_advance_paid_account (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
-#: erpnext/setup/doctype/company/company.py:317
+#: erpnext/setup/doctype/company/company.py:319
msgid "Default Advance Paid Account"
msgstr ""
#. Label of the default_advance_received_account (Link) field in DocType
#. 'Company'
#: erpnext/setup/doctype/company/company.json
-#: erpnext/setup/doctype/company/company.py:306
+#: erpnext/setup/doctype/company/company.py:308
msgid "Default Advance Received Account"
msgstr ""
@@ -15493,19 +15755,19 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:488
msgid "Default BOM ({0}) must be active for this item or its template"
-msgstr "預設BOM({0})必須是活動的這個項目或者其模板"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2473
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2536
msgid "Default BOM for {0} not found"
-msgstr "默認BOM {0}未找到"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:4017
+#: erpnext/controllers/accounts_controller.py:4058
msgid "Default BOM not found for FG Item {0}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2470
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2533
msgid "Default BOM not found for Item {0} and Project {1}"
-msgstr "項目{0}和項目{1}找不到默認BOM"
+msgstr ""
#. Label of the default_bank_account (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -15835,17 +16097,17 @@ msgstr ""
msgid "Default Unit of Measure"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1396
+#: erpnext/stock/doctype/item/item.py:1406
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:1379
+#: erpnext/stock/doctype/item/item.py:1389
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 "測度項目的默認單位{0}不能直接改變,因為你已經做了一些交易(S)與其他計量單位。您將需要創建一個新的項目,以使用不同的默認計量單位。"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:1008
+#: erpnext/stock/doctype/item/item.py:1018
msgid "Default Unit of Measure for Variant '{0}' must be same as in Template '{1}'"
-msgstr "測度變異的默認單位“{0}”必須是相同模板“{1}”"
+msgstr ""
#. Label of the valuation_method (Select) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -15895,7 +16157,7 @@ msgstr ""
msgid "Default settings for your stock-related transactions"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:191
+#: erpnext/setup/doctype/company/company.js:202
msgid "Default tax templates for sales, purchase and items are created."
msgstr ""
@@ -15911,6 +16173,7 @@ msgstr ""
#. Label of the deferred_accounting_section (Section Break) field in DocType
#. 'Company'
+#. Label of the deferred_accounting_section (Section Break) field in DocType
#. 'Item'
#: erpnext/setup/doctype/company/company.json
#: erpnext/stock/doctype/item/item.json
@@ -15959,6 +16222,7 @@ msgstr ""
#. Label of the deferred_revenue_account (Link) field in DocType 'POS Invoice
#. Item'
#. Label of the deferred_revenue_account (Link) field in DocType 'Sales Invoice
+#. Item'
#. Label of the deferred_revenue_account (Link) field in DocType 'Item Default'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -15977,7 +16241,7 @@ msgstr ""
#: erpnext/config/projects.py:39
msgid "Define Project type."
-msgstr "定義項目類型。"
+msgstr ""
#. Description of the 'End of Life' (Date) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -16010,7 +16274,7 @@ msgstr ""
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:120
msgid "Delay in payment (Days)"
-msgstr "延遲支付(天)"
+msgstr ""
#: erpnext/stock/report/delayed_item_report/delayed_item_report.py:157
#: erpnext/stock/report/delayed_order_report/delayed_order_report.py:72
@@ -16070,14 +16334,20 @@ msgstr ""
msgid "Delete Leads and Addresses"
msgstr ""
+#. Option for the 'Action for Expired Unverified Appointments' (Select) field
+#. in DocType 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Delete Permanently"
+msgstr ""
+
#. Label of the delete_transactions_status (Select) field in DocType
#. 'Transaction Deletion Record'
-#: erpnext/setup/doctype/company/company.js:168
+#: erpnext/setup/doctype/company/company.js:179
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json
msgid "Delete Transactions"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:238
+#: erpnext/setup/doctype/company/company.js:249
msgid "Delete all the Transactions for {0}"
msgstr ""
@@ -16105,7 +16375,7 @@ msgstr ""
#: erpnext/regional/__init__.py:14
msgid "Deletion is not permitted for country {0}"
-msgstr "國家{0}不允許刪除"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:216
msgid "Deletion process restarted"
@@ -16131,26 +16401,9 @@ msgstr ""
msgid "Deliver secondary Items"
msgstr ""
-#. Option for the 'Status' (Select) field in DocType 'Purchase Order'
-#. Option for the 'Status' (Select) field in DocType 'Serial No'
-#. Option for the 'Tracking Status' (Select) field in DocType 'Shipment'
-#. Option for the 'Status' (Select) field in DocType 'Stock Reservation Entry'
-#. Option for the 'Status' (Select) field in DocType 'Subcontracting Inward
-#. Order'
-#: erpnext/buying/doctype/purchase_order/purchase_order.json
-#: erpnext/buying/doctype/purchase_order/purchase_order_list.js:20
-#: erpnext/controllers/website_list_for_contact.py:213
-#: erpnext/stock/doctype/serial_no/serial_no.json
-#: erpnext/stock/doctype/shipment/shipment.json
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
-#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:61
-#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json
-msgid "Delivered"
-msgstr "交付"
-
#: erpnext/stock/report/item_wise_consumption/item_wise_consumption.py:64
msgid "Delivered Amount"
-msgstr "交付金額"
+msgstr ""
#. Title of an incoterm
#: erpnext/setup/doctype/incoterm/incoterms.csv:10
@@ -16165,6 +16418,7 @@ msgstr ""
#. Label of the delivered_by_supplier (Check) field in DocType 'POS Invoice
#. Item'
#. Label of the delivered_by_supplier (Check) field in DocType 'Sales Invoice
+#. Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
msgid "Delivered By Supplier"
@@ -16178,7 +16432,7 @@ msgstr ""
#. Name of a report
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.json
msgid "Delivered Items To Be Billed"
-msgstr "交付項目要被收取"
+msgstr ""
#. Label of the delivered_qty (Float) field in DocType 'POS Invoice Item'
#. Label of the delivered_qty (Float) field in DocType 'Sales Invoice Item'
@@ -16188,6 +16442,7 @@ msgstr "交付項目要被收取"
#. Entry'
#. Label of the delivered_qty (Float) field in DocType 'Subcontracting Inward
#. Order Item'
+#. Label of the delivered_qty (Float) field in DocType 'Subcontracting Inward
#. Order Secondary Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -16201,18 +16456,18 @@ msgstr "交付項目要被收取"
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_secondary_item/subcontracting_inward_order_secondary_item.json
msgid "Delivered Qty"
-msgstr "交付數量"
+msgstr ""
#. Label of the delivered_qty (Float) field in DocType 'Pick List Item'
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Delivered Qty (in Stock UOM)"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:611
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:612
msgid "Delivered Qty cannot be increased by more than {0} for item {1}"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:604
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:605
msgid "Delivered Qty cannot be reduced by more than {0} for item {1}"
msgstr ""
@@ -16233,12 +16488,12 @@ msgstr ""
#: erpnext/templates/pages/material_request_info.html:66
msgid "Delivered: {0}"
-msgstr "交貨:{0}"
+msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Pick List'
#: erpnext/stock/doctype/pick_list/pick_list.json
msgid "Delivery"
-msgstr "交貨"
+msgstr ""
#. Label of the delivery_date (Date) field in DocType 'Master Production
#. Schedule Item'
@@ -16249,7 +16504,7 @@ msgstr "交貨"
#: erpnext/manufacturing/doctype/master_production_schedule_item/master_production_schedule_item.json
#: erpnext/manufacturing/doctype/sales_forecast_item/sales_forecast_item.json
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1069
-#: erpnext/public/js/utils.js:913
+#: erpnext/public/js/utils.js:916
#: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
#: erpnext/selling/doctype/sales_order/sales_order.js:632
#: erpnext/selling/doctype/sales_order/sales_order.js:1533
@@ -16257,7 +16512,7 @@ msgstr "交貨"
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:321
msgid "Delivery Date"
-msgstr "交貨日期"
+msgstr ""
#. Label of the section_break_3 (Section Break) field in DocType 'Delivery
#. Trip'
@@ -16315,7 +16570,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Delivery Note"
-msgstr "送貨單"
+msgstr ""
#. Label of the dn_detail (Data) field in DocType 'POS Invoice Item'
#. Label of the dn_detail (Data) field in DocType 'Sales Invoice Item'
@@ -16331,7 +16586,7 @@ msgstr "送貨單"
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Delivery Note Item"
-msgstr "送貨單項目"
+msgstr ""
#. Label of the delivery_note_no (Link) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -16352,13 +16607,13 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Delivery Note Trends"
-msgstr "送貨單趨勢"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1451
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1457
msgid "Delivery Note {0} is not submitted"
-msgstr "送貨單{0}未提交"
+msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1239
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1246
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:75
msgid "Delivery Notes"
msgstr ""
@@ -16369,7 +16624,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:150
msgid "Delivery Notes {0} updated"
-msgstr "已更新交貨單{0}"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:627
#: erpnext/selling/doctype/sales_order/sales_order.js:654
@@ -16387,14 +16642,14 @@ msgstr ""
#: erpnext/workspace_sidebar/erpnext_settings.json
#: erpnext/workspace_sidebar/stock.json
msgid "Delivery Settings"
-msgstr "交貨設置"
+msgstr ""
#. Name of a DocType
#. Label of the delivery_stops (Table) field in DocType 'Delivery Trip'
#: erpnext/stock/doctype/delivery_stop/delivery_stop.json
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Delivery Stop"
-msgstr "交貨停止"
+msgstr ""
#. Label of the delivery_service_stops (Section Break) field in DocType
#. 'Delivery Trip'
@@ -16421,7 +16676,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Delivery Trip"
-msgstr "送貨之旅"
+msgstr ""
#. Name of a role
#: erpnext/setup/doctype/driver/driver.json
@@ -16464,7 +16719,7 @@ msgstr ""
msgid "Demand vs Supply"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:551
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:554
msgid "Demo Bank Account"
msgstr ""
@@ -16503,9 +16758,9 @@ msgstr ""
#. Name of a DocType
#: erpnext/projects/doctype/dependent_task/dependent_task.json
msgid "Dependent Task"
-msgstr "相關任務"
+msgstr ""
-#: erpnext/projects/doctype/task/task.py:180
+#: erpnext/projects/doctype/task/task.py:181
msgid "Dependent Task {0} is not a Template Task"
msgstr ""
@@ -16566,26 +16821,26 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:105
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:176
#: erpnext/accounts/report/account_balance/account_balance.js:44
-#: erpnext/accounts/report/cash_flow/cash_flow.py:169
+#: erpnext/accounts/report/cash_flow/cash_flow.py:170
#: erpnext/assets/doctype/asset/asset.json
msgid "Depreciation"
-msgstr "折舊"
+msgstr ""
#. Label of the depreciation_amount (Currency) field in DocType 'Depreciation
#. Schedule'
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:172
-#: erpnext/assets/doctype/asset/asset.js:384
+#: erpnext/assets/doctype/asset/asset.js:392
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
msgid "Depreciation Amount"
-msgstr "折舊額"
+msgstr ""
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:882
msgid "Depreciation Amount during the period"
-msgstr "期間折舊額"
+msgstr ""
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:154
msgid "Depreciation Date"
-msgstr "折舊日期"
+msgstr ""
#. Label of the section_break_33 (Section Break) field in DocType 'Asset'
#. Label of the depreciation_details_section (Section Break) field in DocType
@@ -16597,7 +16852,7 @@ msgstr ""
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:888
msgid "Depreciation Eliminated due to disposal of assets"
-msgstr "折舊淘汰因處置資產"
+msgstr ""
#. Option for the 'Entry Type' (Select) field in DocType 'Journal Entry'
#. Option for the 'Journal Entry Type' (Select) field in DocType 'Journal Entry
@@ -16607,7 +16862,7 @@ msgstr "折舊淘汰因處置資產"
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:190
#: erpnext/assets/doctype/asset/asset.js:127
msgid "Depreciation Entry"
-msgstr "折舊分錄"
+msgstr ""
#. Label of the depr_entry_posting_status (Select) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -16657,7 +16912,7 @@ msgstr ""
msgid "Depreciation Posting Date"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:927
+#: erpnext/assets/doctype/asset/asset.js:935
msgid "Depreciation Posting Date cannot be before Available-for-use Date"
msgstr ""
@@ -16667,7 +16922,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:721
msgid "Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1}"
-msgstr "折舊行{0}:使用壽命後的預期值必須大於或等於{1}"
+msgstr ""
#. Label of the depreciation_schedule_sb (Section Break) field in DocType
#. 'Asset'
@@ -16675,6 +16930,7 @@ msgstr "折舊行{0}:使用壽命後的預期值必須大於或等於{1}"
#. 'Asset Depreciation Schedule'
#. Label of the depreciation_schedule (Table) field in DocType 'Asset
#. Depreciation Schedule'
+#. Label of the depreciation_schedule_section (Section Break) field in DocType
#. 'Asset Shift Allocation'
#. Label of the depreciation_schedule (Table) field in DocType 'Asset Shift
#. Allocation'
@@ -16686,7 +16942,7 @@ msgstr "折舊行{0}:使用壽命後的預期值必須大於或等於{1}"
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
#: erpnext/workspace_sidebar/assets.json
msgid "Depreciation Schedule"
-msgstr "折舊計劃"
+msgstr ""
#. Label of the depreciation_schedule_view (HTML) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -16725,7 +16981,7 @@ msgstr ""
#. Label of the order_lost_reason (Small Text) field in DocType 'Opportunity'
#. Label of the order_lost_reason (Small Text) field in DocType 'Quotation'
#: erpnext/crm/doctype/opportunity/opportunity.json
-#: erpnext/public/js/utils/sales_common.js:612
+#: erpnext/public/js/utils/sales_common.js:610
#: erpnext/selling/doctype/quotation/quotation.json
msgid "Detailed Reason"
msgstr ""
@@ -16797,9 +17053,9 @@ msgstr ""
#: erpnext/public/js/bank_reconciliation_tool/number_card.js:30
#: erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py:130
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:35
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:35
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:41
msgid "Difference"
-msgstr "區別"
+msgstr ""
#. Label of the difference (Currency) field in DocType 'Journal Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -16821,22 +17077,23 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
msgid "Difference Account"
-msgstr "差異科目"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:887
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:908
msgid "Difference Account in Items Table"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:876
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:897
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:978
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:980
msgid "Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry"
-msgstr "差異科目必須是資產/負債類型的科目,因為此庫存調整是一個開帳分錄"
+msgstr ""
#. Label of the difference_amount (Currency) field in DocType 'Payment
#. Reconciliation Allocation'
+#. Label of the difference_amount (Currency) field in DocType 'Payment
#. Reconciliation Payment'
#. Label of the difference_amount (Currency) field in DocType 'Process Payment
#. Reconciliation Log Allocations'
@@ -16851,7 +17108,7 @@ msgstr "差異科目必須是資產/負債類型的科目,因為此庫存調
#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
msgid "Difference Amount"
-msgstr "差額"
+msgstr ""
#. Label of the difference_amount (Currency) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -16860,7 +17117,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:204
msgid "Difference Amount must be zero"
-msgstr "差量必須是零"
+msgstr ""
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.js:49
msgid "Difference In"
@@ -16886,7 +17143,7 @@ msgid "Difference Qty"
msgstr ""
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:136
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:168
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:173
msgid "Difference Value"
msgstr ""
@@ -16896,7 +17153,7 @@ msgstr ""
#: erpnext/stock/doctype/packing_slip/packing_slip.py:194
msgid "Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM."
-msgstr "不同計量單位的項目會導致不正確的(總)淨重值。確保每個項目的淨重是在同一個計量單位。"
+msgstr ""
#. Label of the dimension_defaults (Table) field in DocType 'Accounting
#. Dimension'
@@ -16945,37 +17202,19 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:82
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:141
msgid "Direct Expenses"
-msgstr "直接費用"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:141
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:237
msgid "Direct Income"
-msgstr "直接收入"
+msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:365
msgid "Direct return is not allowed for Timesheet."
msgstr ""
-#. Label of the disabled (Check) field in DocType 'Account'
-#. Label of the disabled (Check) field in DocType 'Accounting Dimension'
-#. Label of the disable (Check) field in DocType 'Pricing Rule'
-#. Label of the disable (Check) field in DocType 'Promotional Scheme'
-#. Label of the disable (Check) field in DocType 'Promotional Scheme Price
-#. Discount'
-#. Label of the disable (Check) field in DocType 'Promotional Scheme Product
-#. Label of the disable (Check) field in DocType 'Putaway Rule'
-#: erpnext/accounts/doctype/account/account.json
-#: erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
-#: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.json
-#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
-#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
-#: erpnext/stock/doctype/putaway_rule/putaway_rule.json
-msgid "Disable"
-msgstr ""
-
#. Label of the disable_capacity_planning (Check) field in DocType
#. 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
@@ -17009,6 +17248,7 @@ msgstr ""
#. Label of the disable_rounded_total (Check) field in DocType 'Global
#. Defaults'
#. Label of the disable_rounded_total (Check) field in DocType 'Delivery Note'
+#. Label of the disable_rounded_total (Check) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -17065,7 +17305,7 @@ msgstr ""
msgid "Disabled items cannot be selected in any transaction."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:931
+#: erpnext/controllers/accounts_controller.py:936
msgid "Disabled pricing rules since this {} is an internal transfer"
msgstr ""
@@ -17074,13 +17314,13 @@ msgstr ""
msgid "Disabled suppliers are hidden from selection in new transactions but remain in historical records"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:945
+#: erpnext/controllers/accounts_controller.py:950
msgid "Disabled tax included prices since this {} is an internal transfer"
msgstr ""
#: erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py:79
msgid "Disabled template must not be default template"
-msgstr "殘疾人模板必須不能默認模板"
+msgstr ""
#. Description of the 'Scan Mode' (Check) field in DocType 'Stock
#. Reconciliation'
@@ -17090,7 +17330,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1068
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1072
#: erpnext/stock/doctype/stock_entry/stock_entry.js:392
#: erpnext/stock/doctype/stock_entry/stock_entry.js:435
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -17102,7 +17342,7 @@ msgstr ""
msgid "Disassemble Order"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2700
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2776
msgid "Disassemble Qty cannot be less than or equal to 0."
msgstr ""
@@ -17151,9 +17391,12 @@ msgstr ""
#. Label of the discount_percentage (Percent) field in DocType 'POS Invoice
#. Item'
#. Label of the discount_percentage (Percent) field in DocType 'Sales Invoice
+#. Item'
#. Label of the discount_percentage (Percent) field in DocType 'Quotation Item'
#. Label of the discount_percentage (Percent) field in DocType 'Sales Order
+#. Item'
#. Label of the discount_percentage (Float) field in DocType 'Delivery Note
+#. Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
@@ -17176,15 +17419,21 @@ msgstr ""
#. Option for the 'Discount Type' (Select) field in DocType 'Promotional Scheme
#. Price Discount'
#. Label of the discount_amount (Currency) field in DocType 'Promotional Scheme
+#. Price Discount'
#. Label of the discount_amount (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the discount_amount (Currency) field in DocType 'Sales Invoice
+#. Item'
#. Label of the discount_amount (Currency) field in DocType 'Purchase Order
+#. Item'
#. Label of the discount_amount (Currency) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the discount_amount (Currency) field in DocType 'Quotation Item'
#. Label of the discount_amount (Currency) field in DocType 'Sales Order Item'
#. Label of the discount_amount (Currency) field in DocType 'Delivery Note
+#. Item'
#. Label of the discount_amount (Currency) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
@@ -17260,7 +17509,9 @@ msgstr ""
#. Label of the discount_validity_based_on (Select) field in DocType 'Payment
#. Schedule'
+#. Label of the discount_validity_based_on (Select) field in DocType 'Payment
#. Term'
+#. Label of the discount_validity_based_on (Select) field in DocType 'Payment
#. Terms Template Detail'
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/accounts/doctype/payment_term/payment_term.json
@@ -17271,15 +17522,20 @@ msgstr ""
#. Label of the discount_and_margin (Section Break) field in DocType 'POS
#. Invoice Item'
#. Label of the section_break_26 (Section Break) field in DocType 'Purchase
+#. Invoice Item'
#. Label of the discount_and_margin (Section Break) field in DocType 'Sales
+#. Invoice Item'
#. Label of the discount_and_margin_section (Section Break) field in DocType
#. 'Purchase Order Item'
+#. Label of the discount_and_margin_section (Section Break) field in DocType
#. 'Supplier Quotation Item'
#. Label of the discount_and_margin (Section Break) field in DocType 'Quotation
#. Item'
+#. Label of the discount_and_margin (Section Break) field in DocType 'Sales
#. Order Item'
#. Label of the discount_and_margin (Section Break) field in DocType 'Delivery
#. Note Item'
+#. Label of the discount_and_margin_section (Section Break) field in DocType
#. 'Purchase Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -17303,9 +17559,9 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:93
msgid "Discount must be less than 100"
-msgstr "折扣必須小於100"
+msgstr ""
-#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3376
+#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3375
msgid "Discount of {} applied as per Payment Term"
msgstr ""
@@ -17324,6 +17580,7 @@ msgstr ""
#. Item'
#. Label of the discount_percentage (Percent) field in DocType 'Supplier
#. Quotation Item'
+#. Label of the discount_percentage (Percent) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -17376,9 +17633,9 @@ msgstr ""
msgid "Dislikes"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:482
+#: erpnext/setup/doctype/company/company.py:484
msgid "Dispatch"
-msgstr "調度"
+msgstr ""
#. Label of the dispatch_address_display (Text Editor) field in DocType
#. 'Purchase Invoice'
@@ -17386,6 +17643,7 @@ msgstr "調度"
#. Label of the dispatch_address (Link) field in DocType 'Purchase Order'
#. Label of the dispatch_address (Text Editor) field in DocType 'Sales Order'
#. Label of the dispatch_address (Text Editor) field in DocType 'Delivery Note'
+#. Label of the dispatch_address_display (Text Editor) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -17426,9 +17684,9 @@ msgstr ""
#: erpnext/patches/v11_0/add_default_dispatch_notification_template.py:20
#: erpnext/patches/v11_0/add_default_dispatch_notification_template.py:28
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:58
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:340
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:343
msgid "Dispatch Notification"
-msgstr "發貨通知"
+msgstr ""
#. Label of the dispatch_attachment (Link) field in DocType 'Delivery Settings'
#: erpnext/stock/doctype/delivery_settings/delivery_settings.json
@@ -17487,10 +17745,15 @@ msgstr ""
#. Label of the date_dist_from_top_edge (Float) field in DocType 'Cheque Print
#. Template'
#. Label of the payer_name_from_top_edge (Float) field in DocType 'Cheque Print
+#. Template'
#. Label of the amt_in_words_from_top_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the amt_in_figures_from_top_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the acc_no_dist_from_top_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the signatory_from_top_edge (Float) field in DocType 'Cheque Print
+#. Template'
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.json
msgid "Distance from top edge"
msgstr ""
@@ -17502,6 +17765,7 @@ msgstr ""
#. Label of the distribute_additional_costs_based_on (Select) field in DocType
#. 'Subcontracting Order'
+#. Label of the distribute_additional_costs_based_on (Select) field in DocType
#. 'Subcontracting Receipt'
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
@@ -17530,11 +17794,18 @@ msgstr ""
#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Purchase Invoice Item'
#. Label of the distributed_discount_amount (Currency) field in DocType 'Sales
+#. Invoice Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Purchase Order Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Supplier Quotation Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Quotation Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType 'Sales
#. Order Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Delivery Note Item'
+#. Label of the distributed_discount_amount (Currency) field in DocType
#. 'Purchase Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -17559,9 +17830,9 @@ msgid "Distribution Name"
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_partner_type.txt:2
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:240
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:243
msgid "Distributor"
-msgstr "經銷商"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:191
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:338
@@ -17577,7 +17848,7 @@ msgstr ""
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/report/lead_details/lead_details.js:41
msgid "Do Not Contact"
-msgstr "不要聯絡"
+msgstr ""
#. Label of the do_not_explode (Check) field in DocType 'BOM Creator Item'
#. Label of the do_not_explode (Check) field in DocType 'BOM Item'
@@ -17586,7 +17857,7 @@ msgstr "不要聯絡"
msgid "Do Not Explode"
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:130
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:135
msgid "Do Not Use Batchwise Valuation"
msgstr ""
@@ -17626,9 +17897,9 @@ msgstr ""
msgid "Do not use Batch-wise Valuation"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:965
+#: erpnext/assets/doctype/asset/asset.js:973
msgid "Do you really want to restore this scrapped asset?"
-msgstr "難道你真的想恢復這個報廢的資產?"
+msgstr ""
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.js:26
msgid "Do you still want to enable immutable ledger?"
@@ -17644,7 +17915,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:158
msgid "Do you want to notify all the customers by email?"
-msgstr "你想通過電子郵件通知所有的客戶?"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:334
msgid "Do you want to submit the material request"
@@ -17690,7 +17961,7 @@ msgstr ""
#: erpnext/templates/pages/search_help.py:22
msgid "Docs Search"
-msgstr "Google文檔搜索"
+msgstr ""
#. Label of the document_count (Int) field in DocType 'Transaction Deletion
#. Record To Delete'
@@ -17717,7 +17988,7 @@ msgstr ""
msgid "Documents Processed on each trigger. Queue Size should be between 5 and 100"
msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:262
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:491
msgid "Documents: {0} have deferred revenue/expense enabled for them. Cannot repost."
msgstr ""
@@ -17736,6 +18007,7 @@ msgstr ""
#. Label of the dont_recompute_tax (Check) field in DocType 'Purchase Taxes and
#. Charges'
#. Label of the dont_recompute_tax (Check) field in DocType 'Sales Taxes and
+#. Charges'
#: 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 "Don't Recompute Tax"
@@ -17755,6 +18027,7 @@ msgstr ""
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset'
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Depreciation Schedule'
+#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Finance Book'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -17831,7 +18104,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Driver"
-msgstr "司機"
+msgstr ""
#. Label of the driver_address (Link) field in DocType 'Delivery Trip'
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
@@ -17866,7 +18139,7 @@ msgstr ""
#: erpnext/setup/doctype/driver/driver.json
#: erpnext/setup/doctype/driving_license_category/driving_license_category.json
msgid "Driving License Category"
-msgstr "駕駛執照類別"
+msgstr ""
#. Label of the drop_ship (Section Break) field in DocType 'POS Invoice Item'
#. Label of the drop_ship (Section Break) field in DocType 'Sales Invoice Item'
@@ -17888,11 +18161,11 @@ msgstr ""
msgid "Drop some files here, or click to select files"
msgstr ""
-#: erpnext/accounts/party.py:710
+#: erpnext/accounts/party.py:726
msgid "Due Date cannot be after {0}"
msgstr ""
-#: erpnext/accounts/party.py:686
+#: erpnext/accounts/party.py:702
msgid "Due Date cannot be before {0}"
msgstr ""
@@ -17936,6 +18209,14 @@ msgstr ""
msgid "Dunning Letter Text"
msgstr ""
+#: erpnext/accounts/doctype/dunning/dunning.py:184
+msgid "Dunning Letter for Dunning Type {0} in language '{1}' not found."
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning/dunning.py:188
+msgid "Dunning Letter for Dunning Type {0} not found."
+msgstr ""
+
#. Label of the dunning_level (Int) field in DocType 'Overdue Payment'
#: erpnext/accounts/doctype/overdue_payment/overdue_payment.json
msgid "Dunning Level"
@@ -17961,7 +18242,7 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:71
msgid "Duplicate Entry. Please check Authorization Rule {0}"
-msgstr "重複的條目。請檢查授權規則{0}"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:418
msgid "Duplicate Finance Book"
@@ -18001,11 +18282,11 @@ msgstr ""
msgid "Duplicate Sales Invoices found"
msgstr ""
-#: erpnext/stock/serial_batch_bundle.py:1482
+#: erpnext/stock/serial_batch_bundle.py:1568
msgid "Duplicate Serial Number Error"
msgstr ""
-#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:81
+#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:123
msgid "Duplicate Stock Closing Entry"
msgstr ""
@@ -18023,7 +18304,11 @@ msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:164
msgid "Duplicate item group found in the item group table"
-msgstr "在項目組表中找到重複的項目組"
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:133
+msgid "Duplicate languages found on Dunning Letter Text. Keep only one of them."
+msgstr ""
#: erpnext/projects/doctype/project/project.js:186
msgid "Duplicate project has been created"
@@ -18031,7 +18316,11 @@ msgstr ""
#: erpnext/utilities/transaction_base.py:112
msgid "Duplicate row {0} with same {1}"
-msgstr "重複的行{0}同{1}"
+msgstr ""
+
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:110
+msgid "Duplicate vouchers found. Remove the duplicate vouchers to continue to repost."
+msgstr ""
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:157
msgid "Duplicate {0} found in the table"
@@ -18044,13 +18333,13 @@ msgstr ""
#: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:66
msgid "Duration in Days"
-msgstr "持續時間天數"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:170
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:286
#: erpnext/setup/setup_wizard/operations/taxes_setup.py:256
msgid "Duties and Taxes"
-msgstr "關稅和稅款"
+msgstr ""
#. Label of the dynamic_condition_tab (Tab Break) field in DocType 'Pricing
#. Rule'
@@ -18141,9 +18430,9 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:32
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:45
msgid "Earnest Money"
-msgstr "保證金"
+msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:526
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:533
msgid "Edit BOM"
msgstr ""
@@ -18155,7 +18444,7 @@ msgstr ""
msgid "Edit Cart"
msgstr ""
-#: erpnext/controllers/item_variant.py:203
+#: erpnext/controllers/item_variant.py:265
msgid "Edit Not Allowed"
msgstr ""
@@ -18186,7 +18475,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Edit Posting Date and Time"
-msgstr "編輯投稿時間"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:290
msgid "Edit Receipt"
@@ -18194,8 +18483,11 @@ msgstr ""
#. Label of the override_tax_withholding_entries (Check) field in DocType
#. 'Journal Entry'
+#. Label of the override_tax_withholding_entries (Check) field in DocType
#. 'Payment Entry'
+#. Label of the override_tax_withholding_entries (Check) field in DocType
#. 'Purchase Invoice'
+#. Label of the override_tax_withholding_entries (Check) field in DocType
#. 'Sales Invoice'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -18228,18 +18520,18 @@ msgstr ""
msgid "Either 'Selling' or 'Buying' must be selected"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:290
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:441
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:298
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:449
msgid "Either Workstation or Workstation Type is mandatory"
msgstr ""
#: erpnext/setup/doctype/territory/territory.py:40
msgid "Either target qty or target amount is mandatory"
-msgstr "無論是數量目標或目標量是必需的"
+msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person.py:54
msgid "Either target qty or target amount is mandatory."
-msgstr "無論是數量目標或目標量是強制性的。"
+msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.js:677
msgid "Elapsed Time"
@@ -18250,12 +18542,12 @@ msgstr ""
msgid "Electric"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:222
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:225
msgid "Electrical"
-msgstr "電子的"
+msgstr ""
#: erpnext/patches/v16_0/make_workstation_operating_components.py:47
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:314
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:317
msgid "Electricity"
msgstr ""
@@ -18322,7 +18614,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/email_digest/email_digest.json
msgid "Email Digest"
-msgstr "電子郵件摘要"
+msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/email_digest_recipient/email_digest_recipient.json
@@ -18346,6 +18638,15 @@ msgstr ""
msgid "Email Sent to Supplier {0}"
msgstr ""
+#. Label of the email_verified (Check) field in DocType 'Appointment'
+#: erpnext/crm/doctype/appointment/appointment.json
+msgid "Email Verified"
+msgstr ""
+
+#: erpnext/accounts/doctype/payment_request/payment_request.js:57
+msgid "Email couldn't be sent."
+msgstr ""
+
#: erpnext/setup/doctype/employee/employee.py:440
msgid "Email is required to create a user"
msgstr ""
@@ -18369,10 +18670,6 @@ msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:449
msgid "Email sent to {0}"
-msgstr "電子郵件發送到{0}"
-
-#: erpnext/crm/doctype/appointment/appointment.py:114
-msgid "Email verification failed."
msgstr ""
#: erpnext/accounts/letterhead/company_letterhead.html:96
@@ -18450,7 +18747,7 @@ msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.json
#: erpnext/telephony/doctype/call_log/call_log.json
msgid "Employee"
-msgstr "僱員"
+msgstr ""
#. Label of the employee_link (Link) field in DocType 'Supplier Scorecard
#. Scoring Standing'
@@ -18467,7 +18764,7 @@ msgstr ""
#: 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:37
msgid "Employee Advances"
-msgstr "員工發展"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:184
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:322
@@ -18482,12 +18779,12 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/employee_education/employee_education.json
msgid "Employee Education"
-msgstr "員工教育"
+msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/employee_external_work_history/employee_external_work_history.json
msgid "Employee External Work History"
-msgstr "員工對外工作歷史"
+msgstr ""
#. Label of the employee_group (Link) field in DocType 'Communication Medium
#. Timeslot'
@@ -18509,7 +18806,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/employee_internal_work_history/employee_internal_work_history.json
msgid "Employee Internal Work History"
-msgstr "員工內部工作經歷"
+msgstr ""
#. Label of the employee_name (Data) field in DocType 'Activity Cost'
#. Label of the employee_name (Data) field in DocType 'Timesheet'
@@ -18520,7 +18817,7 @@ msgstr "員工內部工作經歷"
#: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py:53
#: erpnext/setup/doctype/employee_group_table/employee_group_table.json
msgid "Employee Name"
-msgstr "員工姓名"
+msgstr ""
#. Label of the employee_number (Data) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -18534,7 +18831,7 @@ msgstr ""
#: erpnext/setup/doctype/employee/employee.py:330
msgid "Employee cannot report to himself."
-msgstr "員工不能報告自己。"
+msgstr ""
#: erpnext/setup/doctype/employee/employee.py:574
msgid "Employee is required"
@@ -18578,7 +18875,7 @@ msgstr ""
msgid "Ems(Pica)"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2981
+#: erpnext/public/js/controllers/transaction.js:2970
msgid "Enable {0} on the Item master to proceed with {1} inspection."
msgstr ""
@@ -18588,10 +18885,16 @@ msgstr ""
msgid "Enable Accounting Dimensions"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1721
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1728
msgid "Enable Allow Partial Reservation in the Stock Settings to reserve partial stock."
msgstr ""
+#. Label of the enable_appointment_portal (Check) field in DocType 'Appointment
+#. Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Enable Appointment Booking Through Portal"
+msgstr ""
+
#. Label of the enable_scheduling (Check) field in DocType 'Appointment Booking
#. Settings'
#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
@@ -18604,7 +18907,7 @@ msgstr ""
msgid "Enable Auto Email"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1188
+#: erpnext/stock/doctype/item/item.py:1198
msgid "Enable Auto Re-Order"
msgstr ""
@@ -18637,6 +18940,7 @@ msgstr ""
#. Label of the enable_deferred_revenue (Check) field in DocType 'POS Invoice
#. Item'
#. Label of the enable_deferred_revenue (Check) field in DocType 'Sales Invoice
+#. Item'
#. Label of the enable_deferred_revenue (Check) field in DocType 'Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -18905,8 +19209,7 @@ msgstr ""
#. Description of the 'Calculate Product Bundle price based on child Item's
#. rates' (Check) field in DocType 'Selling Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
-msgid ""
-"Enabling this will do the following:\n"
+msgid "Enabling this will do the following:\n"
"\n"
"- Make the rate column of all Packed/Bundle Items tables editable.
\n"
"- Calculate the prices of all Product Bundles in the Items table, based on the prices of its child Items, specified in the Packed/Bundle Items table.
\n"
@@ -18921,7 +19224,7 @@ msgstr ""
#: erpnext/crm/doctype/contract/contract.py:73
msgid "End Date cannot be before Start Date."
-msgstr "結束日期不能在開始日期之前。"
+msgstr ""
#. Label of the end_time (Time) field in DocType 'Workstation Working Hour'
#. Label of the end_time (Time) field in DocType 'Stock Reposting Settings'
@@ -18948,13 +19251,13 @@ msgstr ""
#: erpnext/accounts/report/financial_ratios/financial_ratios.js:25
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html:147
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:89
-#: erpnext/public/js/financial_statements.js:443
+#: erpnext/public/js/financial_statements.js:463
msgid "End Year"
-msgstr "結束年份"
+msgstr ""
#: erpnext/accounts/report/financial_statements.py:133
msgid "End Year cannot be before Start Year"
-msgstr "結束年份不能啟動年前"
+msgstr ""
#: erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.js:48
#: erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.py:37
@@ -19037,7 +19340,7 @@ msgstr ""
msgid "Enter Visit Details"
msgstr ""
-#: erpnext/manufacturing/doctype/routing/routing.js:88
+#: erpnext/manufacturing/doctype/routing/routing.js:93
msgid "Enter a name for Routing."
msgstr ""
@@ -19053,7 +19356,7 @@ msgstr ""
msgid "Enter amount to be redeemed."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1259
+#: erpnext/stock/doctype/item/item.js:1265
msgid "Enter an Item Code, the name will be auto-filled the same as Item Code on clicking inside the Item Name field."
msgstr ""
@@ -19065,13 +19368,13 @@ msgstr ""
msgid "Enter customer's phone number"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:936
+#: erpnext/assets/doctype/asset/asset.js:944
msgid "Enter date to scrap asset"
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:484
msgid "Enter depreciation details"
-msgstr "輸入折舊明細"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:408
msgid "Enter discount percentage."
@@ -19090,10 +19393,8 @@ msgstr ""
msgid "Enter the Item Code that this customer uses at their end. This will be shown in Sales Orders for the customer's reference."
msgstr ""
-#: erpnext/manufacturing/doctype/routing/routing.js:93
-msgid ""
-"Enter the Operation, the table will fetch the Operation details like Hourly Rate, Workstation automatically.\n"
-"\n"
+#: erpnext/manufacturing/doctype/routing/routing.js:98
+msgid "Enter the Operation, the table will fetch the Operation details like Hourly Rate, Workstation automatically.\n\n"
" After that, set the Operation Time in minutes and the table will calculate the Operation Costs based on the Hourly Rate and Operation Time."
msgstr ""
@@ -19110,15 +19411,15 @@ msgstr ""
msgid "Enter the name of the bank or lending institution before submitting."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1285
+#: erpnext/stock/doctype/item/item.js:1291
msgid "Enter the opening stock units."
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:995
+#: erpnext/manufacturing/doctype/bom/bom.js:999
msgid "Enter the quantity of the Item that will be manufactured from this Bill of Materials."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1237
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1248
msgid "Enter the quantity to manufacture. Raw material Items will be fetched only when this is set."
msgstr ""
@@ -19133,7 +19434,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:106
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:181
msgid "Entertainment Expenses"
-msgstr "娛樂費用"
+msgstr ""
#. Label of the entity (Dynamic Link) field in DocType 'Service Level
#. Agreement'
@@ -19161,10 +19462,10 @@ msgstr ""
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
#: erpnext/accounts/report/account_balance/account_balance.js:29
#: erpnext/accounts/report/account_balance/account_balance.js:45
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:255
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:306
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:264
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:309
msgid "Equity"
-msgstr "公平"
+msgstr ""
#. Label of the equity_or_liability_account (Link) field in DocType 'Share
#. Transfer'
@@ -19185,7 +19486,7 @@ msgstr ""
msgid "Error Description"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:307
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:317
msgid "Error Occurred"
msgstr ""
@@ -19195,7 +19496,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py:53
msgid "Error evaluating the criteria formula"
-msgstr "評估標準公式時出錯"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:267
msgid "Error getting details for {0}: {1}"
@@ -19222,8 +19523,7 @@ msgid "Error while reposting item valuation"
msgstr ""
#: erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py:176
-msgid ""
-"Error: This asset already has {0} depreciation periods booked.\n"
+msgid "Error: This asset already has {0} depreciation periods booked.\n"
"\t\t\t\t\tThe `depreciation start` date must be at least {1} periods after the `available for use` date.\n"
"\t\t\t\t\tPlease correct the dates accordingly."
msgstr ""
@@ -19247,7 +19547,7 @@ msgstr ""
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:96
#: erpnext/projects/doctype/project/project.json
msgid "Estimated Cost"
-msgstr "估計成本"
+msgstr ""
#. Label of the estimated_time_and_cost (Section Break) field in DocType 'Work
#. Order Operation'
@@ -19274,14 +19574,13 @@ msgstr ""
msgid "Example URL"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1100
+#: erpnext/stock/doctype/item/item.py:1110
msgid "Example of a linked document: {0}"
msgstr ""
#. Description of the 'Serial Number Series' (Data) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
-msgid ""
-"Example: ABCD.#####\n"
+msgid "Example: ABCD.#####\n"
"If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank."
msgstr ""
@@ -19294,7 +19593,7 @@ msgstr ""
msgid "Example: If the transaction amount is 200, then this will be calculated as {} = {}"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2315
+#: erpnext/stock/stock_ledger.py:2377
msgid "Example: Serial No {0} reserved in {1}."
msgstr ""
@@ -19304,11 +19603,11 @@ msgstr ""
msgid "Exception Budget Approver Role"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1031
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1052
msgid "Excess Disassembly"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1325
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1348
msgid "Excess Material Transfer"
msgstr ""
@@ -19316,7 +19615,7 @@ msgstr ""
msgid "Excess Materials Consumed"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1154
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1167
msgid "Excess Transfer"
msgstr ""
@@ -19352,12 +19651,12 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json
#: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
#: erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
-#: erpnext/setup/doctype/company/company.py:675
+#: erpnext/setup/doctype/company/company.py:677
msgid "Exchange Gain/Loss"
-msgstr "兌換收益/損失"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:1804
-#: erpnext/controllers/accounts_controller.py:1889
+#: erpnext/controllers/accounts_controller.py:1809
+#: erpnext/controllers/accounts_controller.py:1894
msgid "Exchange Gain/Loss amount has been booked through {0}"
msgstr ""
@@ -19368,7 +19667,9 @@ msgstr ""
#. Reference'
#. Label of the exchange_rate (Float) field in DocType 'Payment Reconciliation
#. Allocation'
+#. Label of the exchange_rate (Float) field in DocType 'Payment Reconciliation
#. Invoice'
+#. Label of the exchange_rate (Float) field in DocType 'Payment Reconciliation
#. Payment'
#. Label of the pegged_exchange_rate (Data) field in DocType 'Pegged Currency
#. Details'
@@ -19378,6 +19679,7 @@ msgstr ""
#. Label of the conversion_rate (Float) field in DocType 'Purchase Invoice'
#. Label of the conversion_rate (Float) field in DocType 'Sales Invoice'
#. Label of the conversion_rate (Float) field in DocType 'Tax Withholding
+#. Entry'
#. Label of the conversion_rate (Float) field in DocType 'Purchase Order'
#. Label of the conversion_rate (Float) field in DocType 'Supplier Quotation'
#. Label of the conversion_rate (Float) field in DocType 'Opportunity'
@@ -19427,14 +19729,14 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Exchange Rate Revaluation"
-msgstr "匯率重估"
+msgstr ""
#. Label of the accounts (Table) field in DocType 'Exchange Rate Revaluation'
#. Name of a DocType
#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.json
#: erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.json
msgid "Exchange Rate Revaluation Account"
-msgstr "匯率重估科目"
+msgstr ""
#. Label of the exchange_rate_revaluation_settings_section (Section Break)
#. field in DocType 'Company'
@@ -19444,7 +19746,7 @@ msgstr ""
#: erpnext/controllers/sales_and_purchase_return.py:72
msgid "Exchange Rate must be same as {0} {1} ({2})"
-msgstr "匯率必須一致{0} {1}({2})"
+msgstr ""
#. Option for the 'Entry Type' (Select) field in DocType 'Journal Entry'
#. Option for the 'Journal Entry Type' (Select) field in DocType 'Journal Entry
@@ -19454,9 +19756,9 @@ msgstr "匯率必須一致{0} {1}({2})"
msgid "Excise Entry"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:1530
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:1510
msgid "Excise Invoice"
-msgstr "消費稅發票"
+msgstr ""
#. Label of the excise_page (Data) field in DocType 'Delivery Note'
#: erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -19481,9 +19783,9 @@ msgstr ""
msgid "Excluded Fee"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:265
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:268
msgid "Execution"
-msgstr "執行"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:16
msgid "Executive Assistant"
@@ -19578,11 +19880,11 @@ msgstr ""
#: erpnext/stock/report/delayed_order_report/delayed_order_report.py:60
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
msgid "Expected Delivery Date"
-msgstr "預計交貨日期"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:417
msgid "Expected Delivery Date should be after Sales Order Date"
-msgstr "預計交貨日期應在銷售訂單日期之後"
+msgstr ""
#. Label of the expected_end_date (Datetime) field in DocType 'Job Card'
#. Label of the expected_end_date (Date) field in DocType 'Project'
@@ -19596,9 +19898,9 @@ msgstr "預計交貨日期應在銷售訂單日期之後"
#: erpnext/projects/web_form/tasks/tasks.json
#: erpnext/templates/pages/task_info.html:55
msgid "Expected End Date"
-msgstr "預計結束日期"
+msgstr ""
-#: erpnext/projects/doctype/task/task.py:114
+#: erpnext/projects/doctype/task/task.py:115
msgid "Expected End Date should be less than or equal to parent task's Expected End Date {0}."
msgstr ""
@@ -19606,7 +19908,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json
#: erpnext/public/js/projects/timer.js:16
msgid "Expected Hrs"
-msgstr "預計的小時數"
+msgstr ""
#. Label of the expected_start_date (Datetime) field in DocType 'Job Card'
#. Label of the expected_start_date (Date) field in DocType 'Project'
@@ -19620,7 +19922,7 @@ msgstr "預計的小時數"
#: erpnext/projects/web_form/tasks/tasks.json
#: erpnext/templates/pages/task_info.html:50
msgid "Expected Start Date"
-msgstr "預計開始日期"
+msgstr ""
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:129
msgid "Expected Stock Value"
@@ -19656,17 +19958,17 @@ msgstr ""
#: erpnext/accounts/doctype/cashier_closing/cashier_closing.json
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
#: erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.json
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:601
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:611
#: erpnext/accounts/report/account_balance/account_balance.js:28
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:89
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:184
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:192
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:199
msgid "Expense"
-msgstr "費用"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:982
+#: erpnext/controllers/stock_controller.py:1081
msgid "Expense / Difference account ({0}) must be a 'Profit or Loss' account"
-msgstr "費用/差異科目({0})必須是一個'收益或損失'的科目"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#. Label of the expense_account (Link) field in DocType 'Loyalty Program'
@@ -19688,6 +19990,8 @@ msgstr "費用/差異科目({0})必須是一個'收益或損失'的科目"
#. Label of the expense_account (Link) field in DocType 'Subcontracting Order
#. 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
@@ -19708,9 +20012,9 @@ msgstr "費用/差異科目({0})必須是一個'收益或損失'的科目"
#: 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 "費用科目"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:962
+#: erpnext/controllers/stock_controller.py:1061
msgid "Expense Account Missing"
msgstr ""
@@ -19725,17 +20029,17 @@ msgstr ""
msgid "Expense Head"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:495
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:519
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:539
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:505
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:529
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:549
msgid "Expense Head Changed"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:597
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:607
msgid "Expense account is mandatory for item {0}"
-msgstr "交際費是強制性的項目{0}"
+msgstr ""
-#. Description of the 'Enable Deferred Revenue' (Check) field in DocType 'Item'
+#. Description of the 'Enable Deferred Expense' (Check) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
msgid "Expense for this item will be recognized over a period of months. Eg: prepaid insurance or annual software license"
msgstr ""
@@ -19743,7 +20047,29 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:81
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:140
msgid "Expenses"
-msgstr "開支"
+msgstr ""
+
+#. Label of the expenses_added_to_stock_account (Link) field in DocType
+#. 'Company'
+#. Label of the expenses_added_to_stock_account (Link) field in DocType 'Item
+#. Default'
+#: erpnext/setup/doctype/company/company.json
+#: erpnext/stock/doctype/item_default/item_default.json
+msgid "Expenses Added To Stock Account"
+msgstr ""
+
+#. Label of the expenses_added_to_stock_contra_account (Link) field in DocType
+#. 'Company'
+#. Label of the expenses_added_to_stock_contra_account (Link) field in DocType
+#. 'Item Default'
+#: erpnext/setup/doctype/company/company.json
+#: erpnext/stock/doctype/item_default/item_default.json
+msgid "Expenses Added To Stock Contra Account"
+msgstr ""
+
+#: erpnext/controllers/stock_controller.py:934
+msgid "Expenses Added To Stock for Item {0}"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -19751,7 +20077,7 @@ msgstr "開支"
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:148
#: erpnext/accounts/report/account_balance/account_balance.js:49
msgid "Expenses Included In Asset Valuation"
-msgstr "資產評估中包含的費用"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -19759,12 +20085,12 @@ msgstr "資產評估中包含的費用"
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:153
#: erpnext/accounts/report/account_balance/account_balance.js:51
msgid "Expenses Included In Valuation"
-msgstr "支出計入估值"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:310
+#: erpnext/stock/doctype/pick_list/pick_list.py:312
#: erpnext/stock/doctype/stock_entry/stock_entry.js:518
msgid "Expired Batches"
-msgstr "過期批次"
+msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:291
msgid "Expires in a week or less"
@@ -19782,7 +20108,7 @@ msgstr ""
#: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:38
msgid "Expiry (In Days)"
-msgstr "到期(天數)"
+msgstr ""
#. Label of the expiry_date (Date) field in DocType 'Loyalty Point Entry'
#. Label of the expiry_date (Date) field in DocType 'Driver'
@@ -19839,9 +20165,9 @@ msgstr ""
msgid "Extra Job Card Quantity"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:275
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:278
msgid "Extra Large"
-msgstr "特大號"
+msgstr ""
#. Label of the section_break_xhtl (Section Break) field in DocType
#. 'Manufacturing Settings'
@@ -19849,7 +20175,7 @@ msgstr "特大號"
msgid "Extra Material Transfer"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:271
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:274
msgid "Extra Small"
msgstr ""
@@ -19894,7 +20220,7 @@ msgid "FIFO Stock Queue (qty, rate)"
msgstr ""
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:179
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:229
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:238
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:121
msgid "FIFO/LIFO Queue"
msgstr ""
@@ -19937,9 +20263,9 @@ msgstr ""
#: erpnext/setup/setup_wizard/setup_wizard.py:17
#: erpnext/setup/setup_wizard/setup_wizard.py:18
msgid "Failed to install presets"
-msgstr "無法安裝預設"
+msgstr ""
-#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:164
+#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:188
msgid "Failed to parse MT940 format. Error: {0}"
msgstr ""
@@ -19948,7 +20274,7 @@ msgstr ""
msgid "Failed to personalize your setup"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:269
+#: erpnext/assets/doctype/asset/asset.js:277
msgid "Failed to post depreciation entries"
msgstr ""
@@ -19967,13 +20293,13 @@ msgstr ""
#: erpnext/setup/setup_wizard/setup_wizard.py:22
#: erpnext/setup/setup_wizard/setup_wizard.py:23
msgid "Failed to setup company"
-msgstr "未能成立公司"
+msgstr ""
#: erpnext/setup/setup_wizard/setup_wizard.py:29
msgid "Failed to setup defaults"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:857
+#: erpnext/setup/doctype/company/company.py:859
msgid "Failed to setup defaults for country {0}. Please contact support."
msgstr ""
@@ -20046,7 +20372,7 @@ msgstr ""
msgid "Fetch Customers"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:82
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:71
msgid "Fetch Items from Warehouse"
msgstr ""
@@ -20066,7 +20392,7 @@ msgstr ""
#: erpnext/accounts/doctype/subscription/subscription.js:36
msgid "Fetch Subscription Updates"
-msgstr "獲取訂閱更新"
+msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:305
msgid "Fetch Timesheet"
@@ -20084,10 +20410,10 @@ msgstr ""
msgid "Fetch Value From"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:372
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:833
+#: erpnext/stock/doctype/material_request/material_request.js:373
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:809
msgid "Fetch exploded BOM (including sub-assemblies)"
-msgstr "取得爆炸BOM(包括子組件)"
+msgstr ""
#. Label of the fetch_valuation_rate_for_internal_transaction (Check) field in
#. DocType 'Accounts Settings'
@@ -20113,7 +20439,7 @@ msgid "Fetching Sales Orders..."
msgstr ""
#: erpnext/accounts/doctype/dunning/dunning.js:135
-#: erpnext/public/js/controllers/transaction.js:1633
+#: erpnext/public/js/controllers/transaction.js:1619
msgid "Fetching exchange rates ..."
msgstr ""
@@ -20171,7 +20497,7 @@ msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:231
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.js:16
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:16
-#: erpnext/public/js/financial_statements.js:395
+#: erpnext/public/js/financial_statements.js:415
msgid "Filter Based On"
msgstr ""
@@ -20183,7 +20509,7 @@ msgstr ""
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.js:60
msgid "Filter Total Zero Qty"
-msgstr "過濾器總計零數量"
+msgstr ""
#. Label of the filter_by_reference_date (Check) field in DocType 'Bank
#. Reconciliation Tool'
@@ -20282,10 +20608,10 @@ msgstr ""
#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.json
#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:48
-#: erpnext/public/js/financial_statements.js:389
+#: erpnext/public/js/financial_statements.js:409
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Finance Book"
-msgstr "金融書"
+msgstr ""
#. Label of the finance_book_detail (Section Break) field in DocType 'Asset
#. Category'
@@ -20353,9 +20679,9 @@ msgstr ""
#. Label of a Card Break in the Financial Reports Workspace
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
-#: erpnext/public/js/financial_statements.js:325
+#: erpnext/public/js/financial_statements.js:345
msgid "Financial Statements"
-msgstr "財務報表"
+msgstr ""
#: erpnext/public/js/setup_wizard.js:143
msgid "Financial Year Begins On"
@@ -20367,11 +20693,11 @@ msgstr ""
msgid "Financial reports will be generated using GL Entry doctypes (should be enabled if Period Closing Voucher is not posted for all years sequentially or missing) "
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:896
-#: erpnext/manufacturing/doctype/work_order/work_order.js:911
-#: erpnext/manufacturing/doctype/work_order/work_order.js:920
+#: erpnext/manufacturing/doctype/work_order/work_order.js:900
+#: erpnext/manufacturing/doctype/work_order/work_order.js:915
+#: erpnext/manufacturing/doctype/work_order/work_order.js:924
msgid "Finish"
-msgstr "完"
+msgstr ""
#. Label of the fg_item (Link) field in DocType 'Purchase Order Item'
#. Label of the item_code (Link) field in DocType 'BOM Creator'
@@ -20400,7 +20726,7 @@ msgstr ""
#. Service Item'
#. Label of the fg_item (Link) field in DocType 'Subcontracting Order Service
#. Item'
-#: erpnext/public/js/utils.js:939
+#: erpnext/public/js/utils.js:965
#: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_service_item/subcontracting_order_service_item.json
msgid "Finished Good Item"
@@ -20413,7 +20739,7 @@ msgstr ""
msgid "Finished Good Item Code"
msgstr ""
-#: erpnext/public/js/utils.js:957
+#: erpnext/public/js/utils.js:983
msgid "Finished Good Item Qty"
msgstr ""
@@ -20426,15 +20752,15 @@ msgstr ""
msgid "Finished Good Item Quantity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4003
+#: erpnext/controllers/accounts_controller.py:4044
msgid "Finished Good Item is not specified for service item {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4020
+#: erpnext/controllers/accounts_controller.py:4061
msgid "Finished Good Item {0} Qty can not be zero"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4014
+#: erpnext/controllers/accounts_controller.py:4055
msgid "Finished Good Item {0} must be a sub-contracted item"
msgstr ""
@@ -20480,7 +20806,7 @@ msgid "Finished Good {0} must be a sub-contracted item."
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1437
-#: erpnext/setup/doctype/company/company.py:387
+#: erpnext/setup/doctype/company/company.py:389
msgid "Finished Goods"
msgstr ""
@@ -20521,11 +20847,11 @@ msgstr ""
msgid "Finished Goods based Operating Cost"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2026
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2102
msgid "Finished Item {0} does not match with Work Order {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1048
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1069
msgid "Finished good quantity being consumed ({0} in stock UOM) must equal the quantity to disassemble ({1}). Do not change the UOM, conversion factor or quantity of the finished good row."
msgstr ""
@@ -20550,7 +20876,7 @@ msgid "First Response Due"
msgstr ""
#: erpnext/support/doctype/issue/test_issue.py:239
-#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:906
+#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:909
msgid "First Response SLA Failed by {}"
msgstr ""
@@ -20618,12 +20944,12 @@ msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Fiscal Year"
-msgstr "財政年度"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.json
msgid "Fiscal Year Company"
-msgstr "會計年度公司"
+msgstr ""
#: erpnext/accounts/notification/notification_for_new_fiscal_year/notification_for_new_fiscal_year.html:5
msgid "Fiscal Year Details"
@@ -20633,13 +20959,13 @@ msgstr ""
msgid "Fiscal Year End Date should be one year after Fiscal Year Start Date"
msgstr ""
-#: erpnext/controllers/trends.py:59
+#: erpnext/controllers/trends.py:63
msgid "Fiscal Year {0} Does Not Exist"
msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:49
msgid "Fiscal Year {0} does not exist"
-msgstr "會計年度{0}不存在"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:97
msgid "Fiscal Year {0} is not available for Company {1}."
@@ -20647,7 +20973,7 @@ msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:43
msgid "Fiscal Year {0} is required"
-msgstr "會計年度{0}是必需的"
+msgstr ""
#: erpnext/stock/report/incorrect_serial_and_batch_bundle/incorrect_serial_and_batch_bundle.js:28
msgid "Fix SABB Entry"
@@ -20664,7 +20990,7 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:52
#: erpnext/stock/doctype/item/item_list.js:20
msgid "Fixed Asset"
-msgstr "固定資產"
+msgstr ""
#. Label of the fixed_asset_account (Link) field in DocType 'Asset
#. Capitalization Asset Item'
@@ -20683,7 +21009,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:356
msgid "Fixed Asset Item must be a non-stock item."
-msgstr "固定資產項目必須是一個非庫存項目。"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
@@ -20703,7 +21029,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:43
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:76
msgid "Fixed Assets"
-msgstr "固定資產"
+msgstr ""
#. Label of the fixed_deposit_number (Data) field in DocType 'Bank Guarantee'
#: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.json
@@ -20730,7 +21056,7 @@ msgstr ""
#: erpnext/setup/doctype/driver/driver.json
#: erpnext/setup/doctype/vehicle/vehicle.json
msgid "Fleet Manager"
-msgstr "車隊經理"
+msgstr ""
#. Label of the details_tab (Tab Break) field in DocType 'Plant Floor'
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.json
@@ -20772,9 +21098,9 @@ msgstr ""
#: erpnext/templates/emails/reorder_item.html:1
msgid "Following Material Requests have been raised automatically based on Item's re-order level"
-msgstr "下列資料的要求已自動根據項目的重新排序水平的提高"
+msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:836
+#: erpnext/selling/doctype/customer/customer.py:967
msgid "Following fields are mandatory to create address:"
msgstr ""
@@ -20804,11 +21130,11 @@ msgstr ""
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:23
msgid "For"
-msgstr "對於"
+msgstr ""
-#: erpnext/public/js/utils/sales_common.js:389
+#: erpnext/public/js/utils/sales_common.js:387
msgid "For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table."
-msgstr "對於“產品包”的物品,倉庫,序列號和批號將被從“裝箱單”表考慮。如果倉庫和批次號是相同的任何“產品包”項目的所有包裝物品,這些值可以在主項表中輸入,值將被複製到“裝箱單”表。"
+msgstr ""
#. Label of the for_all_stock_asset_accounts (Check) field in DocType 'Journal
#. Entry'
@@ -20831,7 +21157,7 @@ msgstr ""
msgid "For Item"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1685
+#: erpnext/controllers/stock_controller.py:1783
msgid "For Item {0} cannot be received more than {1} qty against the {2} {3}"
msgstr ""
@@ -20861,13 +21187,14 @@ msgstr ""
#. Description of the 'Planned Quantity' (Float) field in DocType 'Sales Order
#. Item'
#. Description of the 'Produced Quantity' (Float) field in DocType 'Sales Order
+#. Item'
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
msgid "For Production"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:998
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1019
msgid "For Quantity (Manufactured Qty) is mandatory"
-msgstr "對於數量(製造數量)是強制性的"
+msgstr ""
#. Label of the material_request_planning (Section Break) field in DocType
#. 'Production Plan'
@@ -20875,7 +21202,7 @@ msgstr "對於數量(製造數量)是強制性的"
msgid "For Raw Materials"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1469
+#: erpnext/controllers/accounts_controller.py:1474
msgid "For Return Invoices with Stock effect, '0' qty Items are not allowed. Following rows are affected: {0}"
msgstr ""
@@ -20886,30 +21213,30 @@ msgstr ""
#: erpnext/accounts/doctype/payment_order/payment_order.js:108
msgid "For Supplier"
-msgstr "對供應商"
+msgstr ""
#. Label of the warehouse (Link) field in DocType 'Material Request Plan Item'
#. Label of the for_warehouse (Link) field in DocType 'Production Plan'
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:471
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:469
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1450
-#: erpnext/stock/doctype/material_request/material_request.js:361
+#: erpnext/stock/doctype/material_request/material_request.js:362
#: erpnext/templates/form_grid/material_request_grid.html:36
msgid "For Warehouse"
-msgstr "對於倉庫"
+msgstr ""
#: erpnext/public/js/utils/serial_no_batch_selector.js:136
msgid "For Work Order"
msgstr ""
-#: erpnext/controllers/status_updater.py:291
+#: erpnext/controllers/status_updater.py:292
msgid "For an item {0}, quantity must be negative number"
-msgstr "對於商品{0},數量必須是負數"
+msgstr ""
-#: erpnext/controllers/status_updater.py:288
+#: erpnext/controllers/status_updater.py:289
msgid "For an item {0}, quantity must be positive number"
-msgstr "對於商品{0},數量必須是正數"
+msgstr ""
#. Description of the 'Income Account' (Link) field in DocType 'Dunning'
#: erpnext/accounts/doctype/dunning/dunning.json
@@ -20945,7 +21272,7 @@ msgstr ""
msgid "For item {0}, only {1} asset have been created or linked to {2}. Please create or link {3} more asset with the respective document."
msgstr ""
-#: erpnext/controllers/status_updater.py:301
+#: erpnext/controllers/status_updater.py:302
msgid "For item {0}, rate must be a positive number. To Allow negative rates, enable {1} in {2}"
msgstr ""
@@ -20959,7 +21286,7 @@ msgstr ""
msgid "For operation {0} at row {1}, please add raw materials or set a BOM against it."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2852
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2922
msgid "For operation {0}: Quantity ({1}) can not be greater than pending quantity({2})"
msgstr ""
@@ -20976,7 +21303,7 @@ msgstr ""
msgid "For projected and forecast quantities, the system will consider all child warehouses under the selected parent warehouse."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2058
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2134
msgid "For quantity {0} should not be greater than allowed quantity {1}"
msgstr ""
@@ -20988,9 +21315,9 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1545
#: erpnext/public/js/controllers/accounts.js:201
msgid "For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included"
-msgstr "對於行{0} {1}。以包括{2}中的檔案速率,行{3}也必須包括"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1721
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1728
msgid "For row {0}: Enter Planned Qty"
msgstr ""
@@ -21000,7 +21327,7 @@ msgstr ""
msgid "For service item"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:178
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:196
msgid "For the 'Apply Rule On Other' condition the field {0} is mandatory"
msgstr ""
@@ -21009,20 +21336,20 @@ msgstr ""
msgid "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1258
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1279
msgid "For the item {0}, the consumed quantity should be {1} according to the BOM {2}."
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:1443
+#: erpnext/public/js/controllers/transaction.js:1429
msgctxt "Clear payment terms template and/or payment schedule when due date is changed"
msgid "For the new {0} to take effect, would you like to clear the current {1}?"
msgstr ""
-#: erpnext/controllers/stock_controller.py:483
+#: erpnext/controllers/stock_controller.py:502
msgid "For the {0}, no stock is available for the return in the warehouse {1}."
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:1247
+#: erpnext/controllers/sales_and_purchase_return.py:1265
msgid "For the {0}, the quantity is required to make the return entry"
msgstr ""
@@ -21089,7 +21416,7 @@ msgstr ""
#: erpnext/templates/pages/help.html:35
msgid "Forum Activity"
-msgstr "論壇活動"
+msgstr ""
#. Label of the forum_sb (Section Break) field in DocType 'Support Settings'
#: erpnext/support/doctype/support_settings/support_settings.json
@@ -21112,7 +21439,7 @@ msgstr ""
msgid "Frappe CRM Allowed User"
msgstr ""
-#: erpnext/crm/frappe_crm_api.py:169
+#: erpnext/crm/frappe_crm_api.py:172
msgid "Frappe CRM data synchronization is not enabled on ERPNext. Contact System Manager of ERPNext."
msgstr ""
@@ -21148,7 +21475,7 @@ msgstr ""
msgid "Free On Board"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:283
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:301
msgid "Free item code is not selected"
msgstr ""
@@ -21164,7 +21491,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:107
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:185
msgid "Freight and Forwarding Charges"
-msgstr "貨運代理費"
+msgstr ""
#. Label of the frequency (Select) field in DocType 'Project'
#: erpnext/projects/doctype/project/project.json
@@ -21216,7 +21543,7 @@ msgstr ""
#: erpnext/setup/doctype/currency_exchange/currency_exchange.py:52
msgid "From Currency and To Currency cannot be same"
-msgstr "原始貨幣和目標貨幣不能相同"
+msgstr ""
#. Label of the customer (Link) field in DocType 'Lead'
#: erpnext/crm/doctype/lead/lead.json
@@ -21231,20 +21558,16 @@ msgstr ""
msgid "From Date and To Date are mandatory"
msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:29
-msgid "From Date and To Date are required"
-msgstr ""
-
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:30
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:29
msgid "From Date and To Date lie in different Fiscal Year"
-msgstr "從日期和到期日位於不同的財政年度"
+msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:64
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:13
#: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:14
#: erpnext/stock/report/reserved_stock/reserved_stock.py:29
msgid "From Date cannot be greater than To Date"
-msgstr "起始日期不能大於結束日期"
+msgstr ""
#: erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py:60
msgid "From Date cannot be greater than To Date."
@@ -21257,16 +21580,13 @@ msgstr ""
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:53
#: erpnext/accounts/report/general_ledger/general_ledger.py:86
#: erpnext/accounts/report/pos_register/pos_register.py:115
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:32
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:25
-#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:34
-#: erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.py:38
+#: erpnext/accounts/report/utils.py:30
msgid "From Date must be before To Date"
-msgstr "起始日期必須早於終點日期"
+msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:68
msgid "From Date should be within the Fiscal Year. Assuming From Date = {0}"
-msgstr "從日期應該是在財政年度內。假設起始日期={0}"
+msgstr ""
#: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py:43
msgid "From Date: {0} cannot be greater than To date: {1}"
@@ -21274,7 +21594,7 @@ msgstr ""
#: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py:29
msgid "From Datetime"
-msgstr "從日期時間"
+msgstr ""
#. Label of the from_delivery_date (Date) field in DocType 'Production Plan'
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
@@ -21283,7 +21603,7 @@ msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.js:59
msgid "From Delivery Note"
-msgstr "從送貨單"
+msgstr ""
#. Label of the from_doctype (Link) field in DocType 'Bulk Transaction Log
#. Detail'
@@ -21314,7 +21634,7 @@ msgstr ""
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:51
msgid "From Fiscal Year"
-msgstr "從財政年度開始"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:110
msgid "From Fiscal Year cannot be greater than To Fiscal Year"
@@ -21328,6 +21648,7 @@ msgstr ""
#. Label of the from_invoice_date (Date) field in DocType 'Payment
#. Reconciliation'
#. Label of the from_invoice_date (Date) field in DocType 'Process Payment
+#. Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
msgid "From Invoice Date"
@@ -21348,6 +21669,7 @@ msgstr ""
#. Label of the from_payment_date (Date) field in DocType 'Payment
#. Reconciliation'
#. Label of the from_payment_date (Date) field in DocType 'Process Payment
+#. Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
msgid "From Payment Date"
@@ -21365,9 +21687,9 @@ msgstr ""
msgid "From Range"
msgstr ""
-#: erpnext/stock/doctype/item_attribute/item_attribute.py:98
+#: erpnext/stock/doctype/item_attribute/item_attribute.py:100
msgid "From Range has to be less than To Range"
-msgstr "從範圍必須小於要範圍"
+msgstr ""
#. Label of the from_reference_date (Date) field in DocType 'Bank
#. Reconciliation Tool'
@@ -21413,7 +21735,7 @@ msgstr ""
#: erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
#: erpnext/templates/pages/timelog_info.html:31
msgid "From Time"
-msgstr "從時間"
+msgstr ""
#. Label of the from_time (Time) field in DocType 'Appointment Booking Slots'
#: erpnext/crm/doctype/appointment_booking_slots/appointment_booking_slots.json
@@ -21422,7 +21744,7 @@ msgstr ""
#: erpnext/accounts/doctype/cashier_closing/cashier_closing.py:67
msgid "From Time Should Be Less Than To Time"
-msgstr "從時間應該少於時間"
+msgstr ""
#. Label of the from_value (Float) field in DocType 'Shipping Rule Condition'
#: erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.json
@@ -21479,9 +21801,9 @@ msgstr ""
msgid "From date cannot be greater than To date"
msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:79
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:78
msgid "From value must be less than to value in row {0}"
-msgstr "來源值必須小於列{0}的值"
+msgstr ""
#. Label of the freeze_account (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -21517,12 +21839,12 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:24
msgid "Fulfillment"
-msgstr "履行"
+msgstr ""
#. Name of a role
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Fulfillment User"
-msgstr "履行用戶"
+msgstr ""
#. Label of the fulfilment_deadline (Date) field in DocType 'Contract'
#: erpnext/crm/doctype/contract/contract.json
@@ -21566,6 +21888,7 @@ msgstr ""
#. Option for the 'Completion Status' (Select) field in DocType 'Maintenance
#. Schedule Detail'
+#. Option for the 'Completion Status' (Select) field in DocType 'Maintenance
#. Visit'
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
@@ -21583,11 +21906,12 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset/asset_list.js:6
msgid "Fully Depreciated"
-msgstr "已提足折舊"
+msgstr ""
#. Option for the 'Advance Payment Status' (Select) field in DocType 'Purchase
#. Order'
#. Option for the 'Advance Payment Status' (Select) field in DocType 'Sales
+#. Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Fully Paid"
@@ -21605,24 +21929,24 @@ msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:135
msgid "Further accounts can be made under Groups, but entries can be made against non-Groups"
-msgstr "進一步帳戶可以根據組進行,但條目可針對非組進行"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:31
msgid "Further cost centers can be made under Groups but entries can be made against non-Groups"
-msgstr "進一步的成本中心可以根據組進行,但項可以對非組進行"
+msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person_tree.js:15
msgid "Further nodes can be only created under 'Group' type nodes"
msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:188
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1231
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1238
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:177
msgid "Future Payment Amount"
msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:187
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1230
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1237
msgid "Future Payment Ref"
msgstr ""
@@ -21634,7 +21958,7 @@ msgstr ""
msgid "Future date is not allowed"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:269
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:278
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:161
msgid "G - D"
msgstr ""
@@ -21653,7 +21977,7 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/report/general_ledger/general_ledger.py:690
msgid "GL Entry"
-msgstr "GL報名"
+msgstr ""
#. Label of the gle_processing_status (Select) field in DocType 'Period Closing
#. Voucher'
@@ -21713,9 +22037,9 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:134
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:220
-#: erpnext/setup/doctype/company/company.py:683
+#: erpnext/setup/doctype/company/company.py:685
msgid "Gain/Loss on Asset Disposal"
-msgstr "在資產處置收益/損失"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -21739,11 +22063,11 @@ msgstr ""
#: erpnext/projects/doctype/project/project.js:102
msgid "Gantt Chart"
-msgstr "甘特圖"
+msgstr ""
#: erpnext/config/projects.py:28
msgid "Gantt chart of all tasks."
-msgstr "所有任務的甘特圖。"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -21763,12 +22087,12 @@ msgstr ""
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "General Ledger"
-msgstr "總帳"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.js:82
msgctxt "Warehouse"
msgid "General Ledger"
-msgstr "總帳"
+msgstr ""
#. Label of the general_ledger_remarks_length (Int) field in DocType 'Accounts
#. Settings'
@@ -21776,6 +22100,10 @@ msgstr "總帳"
msgid "General Ledger remarks length"
msgstr ""
+#: erpnext/accounts/report/general_ledger/general_ledger.py:829
+msgid "General Ledger requires {0} to be synced to DuckDB"
+msgstr ""
+
#. Label of the gs (Section Break) field in DocType 'Item Group'
#: erpnext/setup/doctype/item_group/item_group.json
msgid "General Settings"
@@ -21853,7 +22181,7 @@ msgstr ""
msgid "Generating Master Production Schedule..."
msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.js:30
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.js:44
msgid "Generating Preview"
msgstr ""
@@ -21958,15 +22286,15 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1216
#: erpnext/stock/doctype/delivery_note/delivery_note.js:187
#: erpnext/stock/doctype/delivery_note/delivery_note.js:239
-#: erpnext/stock/doctype/material_request/material_request.js:141
-#: erpnext/stock/doctype/material_request/material_request.js:238
+#: erpnext/stock/doctype/material_request/material_request.js:144
+#: erpnext/stock/doctype/material_request/material_request.js:241
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:144
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:244
#: erpnext/stock/doctype/stock_entry/stock_entry.js:461
#: erpnext/stock/doctype/stock_entry/stock_entry.js:508
#: erpnext/stock/doctype/stock_entry/stock_entry.js:541
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:632
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:800
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:608
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:776
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:165
msgid "Get Items From"
msgstr ""
@@ -21981,11 +22309,11 @@ msgstr ""
msgid "Get Items for Purchase Only"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:346
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:836
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:849
+#: erpnext/stock/doctype/material_request/material_request.js:347
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:812
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:825
msgid "Get Items from BOM"
-msgstr "從物料清單取得項目"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:419
msgid "Get Items from Material Requests against this Supplier"
@@ -21993,7 +22321,7 @@ msgstr ""
#: erpnext/public/js/controllers/buying.js:606
msgid "Get Items from Product Bundle"
-msgstr "從產品包取得項目"
+msgstr ""
#. Label of the get_latest_query (Data) field in DocType 'Support Settings'
#: erpnext/support/doctype/support_settings/support_settings.json
@@ -22017,6 +22345,7 @@ msgstr ""
#. Label of the get_outstanding_invoices (Button) field in DocType 'Journal
#. Entry'
#. Label of the get_outstanding_invoices (Button) field in DocType 'Payment
+#. Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Get Outstanding Invoices"
@@ -22032,7 +22361,7 @@ msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.js:40
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.js:43
msgid "Get Payment Entries"
-msgstr "獲取付款項"
+msgstr ""
#: erpnext/accounts/doctype/payment_order/payment_order.js:23
#: erpnext/accounts/doctype/payment_order/payment_order.js:31
@@ -22066,7 +22395,7 @@ msgstr ""
msgid "Get Started Sections"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:552
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:550
msgid "Get Stock"
msgstr ""
@@ -22083,11 +22412,11 @@ msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:461
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:481
msgid "Get Suppliers"
-msgstr "獲取供應商"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:485
msgid "Get Suppliers By"
-msgstr "獲得供應商"
+msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:357
msgid "Get Timesheets"
@@ -22100,7 +22429,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:102
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:107
msgid "Get Unreconciled Entries"
-msgstr "獲取未調節項"
+msgstr ""
#: banking/src/components/features/Settings/KeyboardShortcuts.tsx:73
msgid "Get around the system quickly with keyboard shortcuts"
@@ -22121,6 +22450,7 @@ msgstr ""
#. Description of the 'Recurse Every (As Per Transaction UOM)' (Float) field in
#. DocType 'Pricing Rule'
+#. Description of the 'Recurse Every (As Per Transaction UOM)' (Float) field in
#. DocType 'Promotional Scheme Product Discount'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
@@ -22134,7 +22464,7 @@ msgstr ""
#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Global Defaults"
-msgstr "全域預設值"
+msgstr ""
#: erpnext/www/book_appointment/index.html:58
msgid "Go back"
@@ -22167,7 +22497,7 @@ msgstr ""
msgid "Goods"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:388
+#: erpnext/setup/doctype/company/company.py:390
#: erpnext/stock/doctype/stock_entry/stock_entry_list.js:34
msgid "Goods In Transit"
msgstr ""
@@ -22176,11 +22506,11 @@ msgstr ""
msgid "Goods Transferred"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2627
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2703
msgid "Goods are already received against the outward entry {0}"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:190
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:193
msgid "Government"
msgstr ""
@@ -22259,28 +22589,36 @@ msgstr ""
#. 'Purchase Invoice'
#. Label of the base_grand_total (Currency) field in DocType 'Purchase Invoice'
#. Label of the grand_total (Currency) field in DocType 'Purchase Invoice'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Sales Invoice'
#. Label of the grand_total (Currency) field in DocType 'Sales Invoice'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Subscription'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Purchase Order'
#. Label of the base_grand_total (Currency) field in DocType 'Purchase Order'
#. Label of the grand_total (Currency) field in DocType 'Purchase Order'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Supplier Quotation'
#. Label of the grand_total (Currency) field in DocType 'Supplier Quotation'
#. Label of the grand_total (Currency) field in DocType 'Production Plan Sales
#. Order'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Quotation'
#. Label of the grand_total (Currency) field in DocType 'Quotation'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Sales Order'
#. Label of the base_grand_total (Currency) field in DocType 'Sales Order'
#. Label of the grand_total (Currency) field in DocType 'Sales Order'
#. Option for the 'Based On' (Select) field in DocType 'Authorization Rule'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Delivery Note'
#. Label of the base_grand_total (Currency) field in DocType 'Delivery Note'
#. Label of the grand_total (Currency) field in DocType 'Delivery Note'
#. Label of the grand_total (Currency) field in DocType 'Delivery Stop'
#. Label of the grand_total (Currency) field in DocType 'Landed Cost Purchase
#. Receipt'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Purchase Receipt'
#. Label of the base_grand_total (Currency) field in DocType 'Purchase Receipt'
#. Label of the grand_total (Currency) field in DocType 'Purchase Receipt'
@@ -22317,7 +22655,7 @@ msgstr ""
#: erpnext/templates/includes/order/order_taxes.html:105
#: erpnext/templates/pages/rfq.html:58
msgid "Grand Total"
-msgstr "累計"
+msgstr ""
#. Label of the base_grand_total (Currency) field in DocType 'Sales Invoice'
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -22329,13 +22667,13 @@ msgstr ""
#. Quotation'
#. Label of the base_grand_total (Currency) field in DocType 'Quotation'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:246
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:244
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
#: erpnext/selling/doctype/quotation/quotation.json
msgid "Grand Total (Company Currency)"
msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:252
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:250
msgid "Grand Total (Transaction Currency)"
msgstr ""
@@ -22404,7 +22742,7 @@ msgstr ""
#. Label of the gross_profit (Currency) field in DocType 'Sales Order Item'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/report/gross_profit/gross_profit.json
-#: erpnext/accounts/report/gross_profit/gross_profit.py:375
+#: erpnext/accounts/report/gross_profit/gross_profit.py:377
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -22414,9 +22752,9 @@ msgstr ""
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:206
msgid "Gross Profit / Loss"
-msgstr "總利潤/虧損"
+msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:382
+#: erpnext/accounts/report/gross_profit/gross_profit.py:384
msgid "Gross Profit Percent"
msgstr ""
@@ -22445,11 +22783,11 @@ msgstr ""
msgid "Gross and Net Profit Report"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:148
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:151
msgid "Group By Customer"
msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:126
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:129
msgid "Group By Supplier"
msgstr ""
@@ -22467,7 +22805,7 @@ msgstr ""
msgid "Group Same Items"
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:158
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:163
msgid "Group Warehouses cannot be used in transactions. Please change the value of {0}"
msgstr ""
@@ -22491,14 +22829,14 @@ msgstr ""
msgid "Group by Sales Order"
msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:156
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:188
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:159
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:191
msgid "Group by Voucher"
-msgstr "集團透過券"
+msgstr ""
#: erpnext/stock/utils.py:426
msgid "Group node warehouse is not allowed to select for transactions"
-msgstr "組節點倉庫不允許選擇用於交易"
+msgstr ""
#. Label of the group_same_items (Check) field in DocType 'POS Invoice'
#. Label of the group_same_items (Check) field in DocType 'Purchase Invoice'
@@ -22523,14 +22861,14 @@ msgstr ""
#: erpnext/stock/doctype/item/item_dashboard.py:18
msgid "Groups"
-msgstr "組"
+msgstr ""
#: erpnext/accounts/report/balance_sheet/balance_sheet.js:32
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.js:32
msgid "Growth View"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:279
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:288
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:171
msgid "H - F"
msgstr ""
@@ -22558,7 +22896,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:18
#: erpnext/support/doctype/issue/issue.json
msgid "HR Manager"
-msgstr "人力資源經理"
+msgstr ""
#. Name of a role
#: erpnext/accounts/doctype/account/account.json
@@ -22577,14 +22915,14 @@ msgstr "人力資源經理"
#: erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
#: erpnext/support/doctype/issue/issue.json
msgid "HR User"
-msgstr "HR用戶"
+msgstr ""
#. Option for the 'Distribution Frequency' (Select) field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:72
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:77
#: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.js:59
-#: erpnext/public/js/financial_statements.js:456
+#: erpnext/public/js/financial_statements.js:476
#: erpnext/public/js/purchase_trends_filters.js:21
#: erpnext/public/js/sales_trends_filters.js:13
#: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/sales_partner_target_variance_based_on_item_group.js:34
@@ -22598,11 +22936,11 @@ msgstr ""
msgid "Hand"
msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:161
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:164
msgid "Handle Employee Advances"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:228
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:231
msgid "Hardware"
msgstr ""
@@ -22648,6 +22986,7 @@ msgstr ""
#. Item'
#. Label of the has_item_scanned (Check) field in DocType 'Stock Entry Detail'
#. Label of the has_item_scanned (Data) field in DocType 'Stock Reconciliation
+#. Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
@@ -22698,6 +23037,7 @@ msgstr ""
#. Label of the has_unit_price_items (Check) field in DocType 'Request for
#. Quotation'
#. Label of the has_unit_price_items (Check) field in DocType 'Supplier
+#. Quotation'
#. Label of the has_unit_price_items (Check) field in DocType 'Quotation'
#. Label of the has_unit_price_items (Check) field in DocType 'Sales Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -22775,7 +23115,7 @@ msgstr ""
#: erpnext/templates/pages/search_help.py:14
msgid "Help Results for"
-msgstr "幫助結果"
+msgstr ""
#. Label of the help_section (Section Break) field in DocType 'Loyalty Program'
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
@@ -22797,7 +23137,7 @@ msgstr ""
msgid "Here are the error logs for the aforementioned failed depreciation entries: {0}"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2018
+#: erpnext/stock/stock_ledger.py:2080
msgid "Here are the options to proceed:"
msgstr ""
@@ -22894,14 +23234,14 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:338
#: erpnext/selling/doctype/sales_order/sales_order.js:995
msgid "Hold"
-msgstr "持有"
+msgstr ""
#. Label of the sb_14 (Section Break) field in DocType 'Purchase Invoice'
#. Label of the on_hold (Check) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:98
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
msgid "Hold Invoice"
-msgstr "保留發票"
+msgstr ""
#. Label of the hold_type (Select) field in DocType 'Supplier'
#: erpnext/buying/doctype/supplier/supplier.json
@@ -22911,7 +23251,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/holiday/holiday.json
msgid "Holiday"
-msgstr "節日"
+msgstr ""
#: erpnext/setup/doctype/holiday_list/holiday_list.py:162
msgid "Holiday Date {0} added multiple times"
@@ -22932,7 +23272,11 @@ msgstr ""
#: erpnext/setup/doctype/holiday_list/holiday_list_calendar.js:19
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Holiday List"
-msgstr "假日列表"
+msgstr ""
+
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:89
+msgid "Holiday List - {0} is not valid for current date."
+msgstr ""
#. Label of the holiday_list_name (Data) field in DocType 'Holiday List'
#: erpnext/setup/doctype/holiday_list/holiday_list.json
@@ -22975,7 +23319,7 @@ msgstr ""
#: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py:31
#: erpnext/templates/pages/timelog_info.html:37
msgid "Hours"
-msgstr "小時"
+msgstr ""
#: erpnext/templates/pages/projects.html:26
msgid "Hours Spent"
@@ -23028,9 +23372,9 @@ msgstr ""
msgid "Hrs"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:494
+#: erpnext/setup/doctype/company/company.py:496
msgid "Human Resources"
-msgstr "人力資源"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -23042,12 +23386,12 @@ msgstr ""
msgid "Hundredweight (US)"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:294
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:303
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:186
msgid "I - J"
msgstr ""
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:304
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:313
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:196
msgid "I - K"
msgstr ""
@@ -23112,9 +23456,9 @@ msgid "Identification of the package for the delivery (for print)"
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:5
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:441
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:444
msgid "Identifying Decision Makers"
-msgstr "確定決策者"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Workstation'
#: erpnext/manufacturing/doctype/workstation/workstation.json
@@ -23130,8 +23474,7 @@ msgstr ""
#. Description of the 'Reconcile on Advance Payment Date' (Check) field in
#. DocType 'Company'
#: erpnext/setup/doctype/company/company.json
-msgid ""
-"If Enabled - Reconciliation happens on the Advance Payment posting date
\n"
+msgid "If Enabled - Reconciliation happens on the Advance Payment posting date
\n"
"If Disabled - Reconciliation happens on oldest of 2 Dates: Invoice Date or the Advance Payment posting date
\n"
msgstr ""
@@ -23187,6 +23530,7 @@ msgstr ""
#. Description of the 'Considered In Paid Amount' (Check) field in DocType
#. 'Purchase Taxes and Charges'
+#. Description of the 'Considered In Paid Amount' (Check) field in DocType
#. 'Sales Taxes and Charges'
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
@@ -23195,6 +23539,7 @@ msgstr ""
#. Description of the 'Is this Tax included in Basic Rate?' (Check) field in
#. DocType 'Purchase Taxes and Charges'
+#. Description of the 'Is this Tax included in Basic Rate?' (Check) field in
#. DocType 'Sales Taxes and Charges'
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
@@ -23251,6 +23596,12 @@ msgstr ""
msgid "If enabled, a print of this document will be attached to each email"
msgstr ""
+#. Description of the 'Auto Repost Incorrect Valuation Entries (Weekly)'
+#. (Check) field in DocType 'Stock Reposting Settings'
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json
+msgid "If enabled, a weekly scheduler scans the Stock Ledger Variance for item-warehouses with incorrect valuation in the current financial year and auto-creates Item & Warehouse based reposts to fix them."
+msgstr ""
+
#. Description of the 'Enable discount accounting for selling' (Check) field in
#. DocType 'Selling Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
@@ -23266,24 +23617,21 @@ msgstr ""
#. Description of the 'Do not update Serial / Batch on creation of auto bundle'
#. (Check) field in DocType 'Stock Settings'
#: 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"
+msgid "If enabled, do not update serial / batch values in the stock transactions on creation of auto Serial \n"
" / Batch Bundle. "
msgstr ""
#. Description of the 'Consider Projected Qty in Calculation' (Check) field in
#. DocType 'Production Plan'
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
-msgid ""
-"If enabled, formula for Qty to Order:
\n"
+msgid "If enabled, formula for Qty to Order:
\n"
"Required Qty (BOM) - Projected Qty.
This helps avoid over-ordering."
msgstr ""
#. Description of the 'Consider Projected Qty in Calculation (RM)' (Check)
#. field in DocType 'Production Plan'
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
-msgid ""
-"If enabled, formula for Required Qty:
\n"
+msgid "If enabled, formula for Required Qty:
\n"
"Required Qty (BOM) - Projected Qty.
This helps avoid over-ordering."
msgstr ""
@@ -23444,15 +23792,15 @@ msgstr ""
msgid "If no taxes are set, and Taxes and Charges Template is selected, the system will automatically apply the taxes from the chosen template."
msgstr ""
-#: erpnext/stock/stock_ledger.py:2028
+#: erpnext/stock/stock_ledger.py:2090
msgid "If not, you can Cancel / Submit this entry"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:194
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:201
msgid "If party does not exist, create it using the Customer Name field."
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:195
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:202
msgid "If party does not exist, create it using the Supplier Name field."
msgstr ""
@@ -23481,7 +23829,7 @@ msgstr ""
msgid "If set, the system does not use the user's Email or the standard outgoing Email account for sending request for quotations."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1270
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1281
msgid "If the BOM results in Scrap material, the Scrap Warehouse needs to be selected."
msgstr ""
@@ -23490,7 +23838,7 @@ msgstr ""
msgid "If the account is frozen, entries are allowed to restricted users."
msgstr ""
-#: erpnext/stock/stock_ledger.py:2021
+#: erpnext/stock/stock_ledger.py:2083
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 ""
@@ -23500,7 +23848,7 @@ msgstr ""
msgid "If the reorder check is set at the Group warehouse level, the available quantity becomes the sum of the projected quantities of all its child warehouses."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1289
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1300
msgid "If the selected BOM has Operations mentioned in it, the system will fetch all Operations from BOM, these values can be changed."
msgstr ""
@@ -23577,7 +23925,7 @@ msgstr ""
msgid "If yes, then this warehouse will be used to store rejected materials"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1271
+#: erpnext/stock/doctype/item/item.js:1277
msgid "If you are maintaining stock of this Item in your Inventory, ERPNext will make a stock ledger entry for each transaction of this item."
msgstr ""
@@ -23587,11 +23935,11 @@ msgstr ""
msgid "If you need to reconcile particular transactions against each other, then please select accordingly. If not, all the transactions will be allocated in FIFO order."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1095
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1096
msgid "If you still want to proceed, please disable '{0}' checkbox."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1841
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1854
msgid "If you still want to proceed, please enable {0}."
msgstr ""
@@ -23617,11 +23965,15 @@ msgstr ""
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on MR'
#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Annual Budget Exceeded on PO' (Select) field in
+#. DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on PO'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Annual Budget Exceeded on Actual' (Select) field
#. in DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on Actual'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Anual Budget Exceeded on Cumulative Expense'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Accumulative Monthly Budget Exceeded on Cumulative
#. Expense' (Select) field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
@@ -23640,7 +23992,9 @@ msgstr ""
#. Label of the ignore_default_payment_terms_template (Check) field in DocType
#. 'Purchase Invoice'
+#. Label of the ignore_default_payment_terms_template (Check) field in DocType
#. 'Sales Invoice'
+#. Label of the ignore_default_payment_terms_template (Check) field in DocType
#. 'Sales Order'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -23654,7 +24008,7 @@ msgstr ""
msgid "Ignore Employee Time Overlap"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:145
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:134
msgid "Ignore Empty Stock"
msgstr ""
@@ -23715,8 +24069,11 @@ msgstr ""
#. Label of the ignore_tax_withholding_threshold (Check) field in DocType
#. 'Journal Entry'
+#. Label of the ignore_tax_withholding_threshold (Check) field in DocType
#. 'Payment Entry'
+#. Label of the ignore_tax_withholding_threshold (Check) field in DocType
#. 'Purchase Invoice'
+#. Label of the ignore_tax_withholding_threshold (Check) field in DocType
#. 'Sales Invoice'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -23829,7 +24186,7 @@ msgstr ""
#: erpnext/stock/doctype/item_price/item_price.js:38
msgid "Import in Bulk"
-msgstr "進口散裝"
+msgstr ""
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.py:206
msgid "Import template should be of type .csv, .xlsx, .xls or .pdf"
@@ -23877,7 +24234,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset/asset_list.js:18
msgid "In Maintenance"
-msgstr "在維護中"
+msgstr ""
#. Description of the 'Downtime' (Float) field in DocType 'Downtime Entry'
#. Description of the 'Lead Time' (Float) field in DocType 'Work Order'
@@ -23886,8 +24243,14 @@ msgstr "在維護中"
msgid "In Mins"
msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:146
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:178
+#. Description of the 'Verification Link Expiry Duration' (Int) field in
+#. DocType 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "In Minutes (min: 15 mins, max: 60 mins)"
+msgstr ""
+
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:149
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:181
msgid "In Party Currency"
msgstr ""
@@ -23911,14 +24274,14 @@ msgstr ""
#: erpnext/stock/report/item_variant_details/item_variant_details.py:107
msgid "In Production"
-msgstr "在生產中"
+msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:112
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:82
#: erpnext/stock/report/stock_balance/stock_balance.py:543
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:318
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:321
msgid "In Qty"
-msgstr "在數量"
+msgstr ""
#: erpnext/templates/form_grid/stock_entry_grid.html:26
msgid "In Stock"
@@ -23934,17 +24297,17 @@ msgstr ""
msgid "In Transit"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:477
+#: erpnext/stock/doctype/material_request/material_request.js:648
msgid "In Transit Transfer"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:446
+#: erpnext/stock/doctype/material_request/material_request.js:617
msgid "In Transit Warehouse"
msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.py:549
msgid "In Value"
-msgstr "在數值"
+msgstr ""
#. Label of the in_words (Small Text) field in DocType 'Payment Entry'
#. Label of the in_words (Data) field in DocType 'POS Invoice'
@@ -24042,7 +24405,7 @@ msgstr ""
msgid "In this case, the amount will be calculated as 25% of the transaction amount. If the transaction amount is 200, then this will be calculated as 200 * 0.25 = 50."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1304
+#: erpnext/stock/doctype/item/item.js:1310
msgid "In this section, you can define Company-wide transaction-related defaults for this Item. Eg. Default Warehouse, Default Price List, Supplier, etc."
msgstr ""
@@ -24055,7 +24418,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Inactive Customers"
-msgstr "不活躍的客戶"
+msgstr ""
#. Name of a report
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.json
@@ -24071,7 +24434,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_team/sales_team.json
#: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:94
msgid "Incentives"
-msgstr "獎勵"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -24147,10 +24510,14 @@ msgstr ""
#. Item'
#. Label of the include_exploded_items (Check) field in DocType 'Production
#. Plan Item'
+#. Label of the include_exploded_items (Check) field in DocType 'Purchase
#. Receipt Item'
#. Label of the include_exploded_items (Check) field in DocType 'Subcontracting
#. Inward Order Item'
+#. Label of the include_exploded_items (Check) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the include_exploded_items (Check) field in DocType 'Subcontracting
+#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
@@ -24160,10 +24527,11 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Include Exploded Items"
-msgstr "包含爆炸物品"
+msgstr ""
#. Label of the include_item_in_manufacturing (Check) field in DocType 'BOM
#. Explosion Item'
+#. Label of the include_item_in_manufacturing (Check) field in DocType 'BOM
#. Item'
#. Label of the include_item_in_manufacturing (Check) field in DocType 'Work
#. Order Item'
@@ -24232,7 +24600,7 @@ msgstr ""
#: erpnext/stock/report/stock_ledger/stock_ledger.js:108
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.js:51
msgid "Include UOM"
-msgstr "包括UOM"
+msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.js:137
msgid "Include Zero Stock Items"
@@ -24286,10 +24654,10 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:460
#: erpnext/accounts/report/account_balance/account_balance.js:27
#: erpnext/accounts/report/financial_statements.py:776
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:182
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:190
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:192
msgid "Income"
-msgstr "收入"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#. Label of the income_account (Link) field in DocType 'Dunning'
@@ -24307,7 +24675,11 @@ msgstr "收入"
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js:77
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:298
msgid "Income Account"
-msgstr "收入科目"
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:86
+msgid "Income Account Validation Error"
+msgstr ""
#. Label of the income_and_expense_account (Section Break) field in DocType
#. 'POS Profile'
@@ -24315,7 +24687,7 @@ msgstr "收入科目"
msgid "Income and Expense"
msgstr ""
-#. Description of the 'Enable Deferred Expense' (Check) field in DocType 'Item'
+#. Description of the 'Enable Deferred Revenue' (Check) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
msgid "Income from this item will be recognized over a period of months instead of all at once. Eg: annual subscription paid upfront."
msgstr ""
@@ -24350,11 +24722,11 @@ msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
#: erpnext/stock/report/available_serial_no/available_serial_no.py:146
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:167
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:361
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:204
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:364
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:213
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:96
msgid "Incoming Rate"
-msgstr "傳入速率"
+msgstr ""
#. Label of the incoming_rate (Currency) field in DocType 'Sales Invoice Item'
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -24390,7 +24762,7 @@ msgstr ""
msgid "Incorrect Company"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1265
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1286
msgid "Incorrect Component Quantity"
msgstr ""
@@ -24425,6 +24797,10 @@ msgstr ""
msgid "Incorrect Serial and Batch Bundle"
msgstr ""
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:301
+msgid "Incorrect Stock Asset Account in {0}"
+msgstr ""
+
#. Name of a report
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.json
msgid "Incorrect Stock Value Report"
@@ -24434,15 +24810,15 @@ msgstr ""
msgid "Incorrect Type of Transaction"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:190
-#: erpnext/stock/doctype/pick_list/pick_list.py:214
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:161
+#: erpnext/stock/doctype/pick_list/pick_list.py:192
+#: erpnext/stock/doctype/pick_list/pick_list.py:216
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:166
msgid "Incorrect Warehouse"
msgstr ""
#: erpnext/accounts/general_ledger.py:64
msgid "Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction."
-msgstr "不正確的數字總帳條目中找到。你可能會在交易中選擇了錯誤的科目。"
+msgstr ""
#: banking/src/pages/BankReconciliation.tsx:120
msgid "Incorrectly Cleared Entries"
@@ -24495,13 +24871,13 @@ msgstr ""
msgid "Increment"
msgstr ""
-#: erpnext/stock/doctype/item_attribute/item_attribute.py:101
+#: erpnext/stock/doctype/item_attribute/item_attribute.py:103
msgid "Increment cannot be 0"
-msgstr "增量不能為0"
+msgstr ""
#: erpnext/controllers/item_variant.py:114
msgid "Increment for Attribute {0} cannot be 0"
-msgstr "增量屬性{0}不能為0"
+msgstr ""
#. Label of the indentation_level (Int) field in DocType 'Financial Report Row'
#: erpnext/accounts/doctype/financial_report_row/financial_report_row.json
@@ -24527,22 +24903,22 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:102
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:167
msgid "Indirect Expenses"
-msgstr "間接費用"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:145
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:242
msgid "Indirect Income"
-msgstr "間接收入"
+msgstr ""
#. Option for the 'Supplier Type' (Select) field in DocType 'Supplier'
#. Option for the 'Customer Type' (Select) field in DocType 'Customer'
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/selling/doctype/customer/customer.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:172
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:175
msgid "Individual"
-msgstr "個人"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:325
msgid "Individual GL Entry cannot be cancelled."
@@ -24568,7 +24944,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/selling/doctype/industry_type/industry_type.json
msgid "Industry Type"
-msgstr "行業類型"
+msgstr ""
#. Label of the email_notification_sent (Check) field in DocType 'Delivery
#. Trip'
@@ -24591,26 +24967,26 @@ msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
msgid "Initiated"
-msgstr "啟動"
+msgstr ""
#. Label of the inspected_by (Link) field in DocType 'Quality Inspection'
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.js:33
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:109
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Inspected By"
-msgstr "檢查"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:1579
+#: erpnext/controllers/stock_controller.py:1677
#: erpnext/manufacturing/doctype/job_card/job_card.py:834
msgid "Inspection Rejected"
msgstr ""
#. Label of the inspection_required (Check) field in DocType 'Stock Entry'
-#: erpnext/controllers/stock_controller.py:1549
-#: erpnext/controllers/stock_controller.py:1551
+#: erpnext/controllers/stock_controller.py:1647
+#: erpnext/controllers/stock_controller.py:1649
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "Inspection Required"
-msgstr "需要檢驗"
+msgstr ""
#. Label of the inspection_required_before_delivery (Check) field in DocType
#. 'Item'
@@ -24624,7 +25000,7 @@ msgstr ""
msgid "Inspection Required before Purchase"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1564
+#: erpnext/controllers/stock_controller.py:1662
#: erpnext/manufacturing/doctype/job_card/job_card.py:815
msgid "Inspection Submission"
msgstr ""
@@ -24633,7 +25009,7 @@ msgstr ""
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:95
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Inspection Type"
-msgstr "檢驗類型"
+msgstr ""
#. Label of the inst_date (Date) field in DocType 'Installation Note'
#: erpnext/selling/doctype/installation_note/installation_note.json
@@ -24648,16 +25024,16 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.js:260
#: erpnext/stock/workspace/stock/stock.json
msgid "Installation Note"
-msgstr "安裝注意事項"
+msgstr ""
#. Name of a DocType
#: erpnext/selling/doctype/installation_note_item/installation_note_item.json
msgid "Installation Note Item"
-msgstr "安裝注意項"
+msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:607
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:619
msgid "Installation Note {0} has already been submitted"
-msgstr "安裝注意{0}已提交"
+msgstr ""
#. Label of the installation_status (Select) field in DocType 'Delivery Note'
#: erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -24671,7 +25047,7 @@ msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.py:115
msgid "Installation date cannot be before delivery date for Item {0}"
-msgstr "品項{0}的安裝日期不能早於交貨日期"
+msgstr ""
#. Label of the qty (Float) field in DocType 'Installation Note Item'
#. Label of the installed_qty (Float) field in DocType 'Delivery Note Item'
@@ -24682,7 +25058,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/setup_wizard.py:16
msgid "Installing presets"
-msgstr "安裝預置"
+msgstr ""
#. Label of the instruction (Small Text) field in DocType 'BOM Creator Item'
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
@@ -24694,25 +25070,25 @@ msgstr ""
msgid "Insufficient Capacity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3899
-#: erpnext/controllers/accounts_controller.py:3921
-#: erpnext/controllers/accounts_controller.py:4439
-#: erpnext/controllers/accounts_controller.py:4445
-#: erpnext/controllers/accounts_controller.py:4467
+#: erpnext/controllers/accounts_controller.py:3940
+#: erpnext/controllers/accounts_controller.py:3962
+#: erpnext/controllers/accounts_controller.py:4480
+#: erpnext/controllers/accounts_controller.py:4486
+#: erpnext/controllers/accounts_controller.py:4508
msgid "Insufficient Permissions"
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:463
-#: erpnext/stock/doctype/pick_list/pick_list.py:148
-#: erpnext/stock/doctype/pick_list/pick_list.py:166
-#: erpnext/stock/doctype/pick_list/pick_list.py:1093
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1235
-#: erpnext/stock/serial_batch_bundle.py:1225 erpnext/stock/stock_ledger.py:1709
-#: erpnext/stock/stock_ledger.py:2206
+#: erpnext/stock/doctype/pick_list/pick_list.py:150
+#: erpnext/stock/doctype/pick_list/pick_list.py:168
+#: erpnext/stock/doctype/pick_list/pick_list.py:1123
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1256
+#: erpnext/stock/serial_batch_bundle.py:1311 erpnext/stock/stock_ledger.py:1771
+#: erpnext/stock/stock_ledger.py:2268
msgid "Insufficient Stock"
-msgstr "庫存不足"
+msgstr ""
-#: erpnext/stock/stock_ledger.py:2221
+#: erpnext/stock/stock_ledger.py:2283
msgid "Insufficient Stock for Batch"
msgstr ""
@@ -24747,7 +25123,7 @@ msgstr ""
#: erpnext/setup/doctype/vehicle/vehicle.py:44
msgid "Insurance Start date should be less than Insurance End date"
-msgstr "保險開始日期應小於保險終止日期"
+msgstr ""
#. Label of the insured_value (Data) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -24775,6 +25151,7 @@ msgstr ""
#. Label of the inter_company_invoice_reference (Link) field in DocType
#. 'Purchase Invoice'
#. Label of the inter_company_invoice_reference (Link) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -24798,6 +25175,7 @@ msgstr ""
#. Label of the inter_company_order_reference (Link) field in DocType 'Purchase
#. Order'
#. Label of the inter_company_order_reference (Link) field in DocType 'Sales
+#. Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Inter Company Order Reference"
@@ -24840,7 +25218,7 @@ msgstr ""
msgid "Interest Income"
msgstr ""
-#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3010
+#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3011
msgid "Interest and/or dunning fee"
msgstr ""
@@ -24853,9 +25231,9 @@ msgstr ""
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/report/lead_details/lead_details.js:39
msgid "Interested"
-msgstr "有興趣"
+msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:300
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:303
msgid "Internal"
msgstr ""
@@ -24865,7 +25243,7 @@ msgstr ""
msgid "Internal Customer Accounting"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:257
+#: erpnext/selling/doctype/customer/customer.py:265
msgid "Internal Customer for company {0} already exists"
msgstr ""
@@ -24873,7 +25251,7 @@ msgstr ""
msgid "Internal Purchase Order"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:831
+#: erpnext/controllers/accounts_controller.py:836
msgid "Internal Sale or Delivery Reference missing."
msgstr ""
@@ -24881,7 +25259,7 @@ msgstr ""
msgid "Internal Sales Order"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:833
+#: erpnext/controllers/accounts_controller.py:838
msgid "Internal Sales Reference Missing"
msgstr ""
@@ -24891,7 +25269,7 @@ msgstr ""
msgid "Internal Supplier Details"
msgstr ""
-#: erpnext/buying/doctype/supplier/supplier.py:181
+#: erpnext/buying/doctype/supplier/supplier.py:185
msgid "Internal Supplier for company {0} already exists"
msgstr ""
@@ -24900,6 +25278,7 @@ msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Sales Invoice'
#. Label of the internal_transfer_section (Section Break) field in DocType
#. 'Sales Invoice Item'
+#. Label of the internal_transfer_section (Section Break) field in DocType
#. 'Delivery Note Item'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -24909,9 +25288,9 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/material_request/material_request_dashboard.py:19
msgid "Internal Transfer"
-msgstr "內部轉賬"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:842
+#: erpnext/controllers/accounts_controller.py:847
msgid "Internal Transfer Reference Missing"
msgstr ""
@@ -24935,7 +25314,7 @@ msgstr ""
msgid "Internal notes about this customer. Not visible on transactions or the portal."
msgstr ""
-#: erpnext/controllers/stock_controller.py:1646
+#: erpnext/controllers/stock_controller.py:1744
msgid "Internal transfers can only be done in company's default currency"
msgstr ""
@@ -24949,14 +25328,14 @@ msgstr ""
msgid "Interval should be between 1 to 59 MInutes"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:384
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:392
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1067
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1077
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:394
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:402
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1073
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1083
#: erpnext/assets/doctype/asset_category/asset_category.py:69
#: erpnext/assets/doctype/asset_category/asset_category.py:97
-#: erpnext/controllers/accounts_controller.py:3245
-#: erpnext/controllers/accounts_controller.py:3253
+#: erpnext/controllers/accounts_controller.py:3250
+#: erpnext/controllers/accounts_controller.py:3258
msgid "Invalid Account"
msgstr ""
@@ -24965,7 +25344,7 @@ msgid "Invalid Accounting Dimension"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:402
-#: erpnext/accounts/doctype/payment_request/payment_request.py:1007
+#: erpnext/accounts/doctype/payment_request/payment_request.py:1019
msgid "Invalid Allocated Amount"
msgstr ""
@@ -24975,13 +25354,13 @@ msgstr ""
#: erpnext/controllers/item_variant.py:129
msgid "Invalid Attribute"
-msgstr "無效屬性"
+msgstr ""
-#: erpnext/stock/doctype/item/item.js:898
+#: erpnext/stock/doctype/item/item.js:904
msgid "Invalid Attribute Values"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:645
+#: erpnext/controllers/accounts_controller.py:650
msgid "Invalid Auto Repeat Date"
msgstr ""
@@ -24994,9 +25373,9 @@ msgstr ""
msgid "Invalid Barcode. There is no Item attached to this barcode."
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:3202
+#: erpnext/public/js/controllers/transaction.js:3191
msgid "Invalid Blanket Order for the selected Customer and Item"
-msgstr "所選客戶和物料的無效總訂單"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:509
msgid "Invalid CSV format. Expected column: doctype_name"
@@ -25010,17 +25389,17 @@ msgstr ""
msgid "Invalid Company Field"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2412
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2418
msgid "Invalid Company for Inter Company Transaction."
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:365
#: erpnext/assets/doctype/asset/asset.py:372
-#: erpnext/controllers/accounts_controller.py:3268
+#: erpnext/controllers/accounts_controller.py:3273
msgid "Invalid Cost Center"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:370
+#: erpnext/selling/doctype/customer/customer.py:380
msgid "Invalid Customer Group"
msgstr ""
@@ -25028,12 +25407,12 @@ msgstr ""
msgid "Invalid Delivery Date"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1087
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1108
msgid "Invalid Disassembly Item"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1053
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1102
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1074
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1123
msgid "Invalid Disassembly Quantity"
msgstr ""
@@ -25041,7 +25420,7 @@ msgstr ""
msgid "Invalid Discount"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:856
+#: erpnext/controllers/taxes_and_totals.py:861
msgid "Invalid Discount Amount"
msgstr ""
@@ -25061,8 +25440,8 @@ msgstr ""
msgid "Invalid File Type"
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:329
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:334
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:374
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:379
msgid "Invalid Formula"
msgstr ""
@@ -25071,11 +25450,11 @@ msgid "Invalid Group By"
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:500
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:958
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:959
msgid "Invalid Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1534
+#: erpnext/stock/doctype/item/item.py:1544
msgid "Invalid Item Defaults"
msgstr ""
@@ -25097,7 +25476,7 @@ msgstr ""
msgid "Invalid POS Invoices"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:387
+#: erpnext/accounts/doctype/account/account.py:418
msgid "Invalid Parent Account"
msgstr ""
@@ -25107,7 +25486,7 @@ msgstr ""
#: erpnext/utilities/transaction_base.py:42
msgid "Invalid Posting Time"
-msgstr "發佈時間無效"
+msgstr ""
#: erpnext/accounts/doctype/party_link/party_link.py:30
msgid "Invalid Primary Role"
@@ -25131,12 +25510,12 @@ msgstr ""
msgid "Invalid Purchase Invoice"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3941
-#: erpnext/controllers/accounts_controller.py:3955
+#: erpnext/controllers/accounts_controller.py:3982
+#: erpnext/controllers/accounts_controller.py:3996
msgid "Invalid Qty"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1487
+#: erpnext/controllers/accounts_controller.py:1492
msgid "Invalid Quantity"
msgstr ""
@@ -25144,6 +25523,10 @@ msgstr ""
msgid "Invalid Query"
msgstr ""
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:325
+msgid "Invalid Reading"
+msgstr ""
+
#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:202
msgid "Invalid Return"
msgstr ""
@@ -25161,12 +25544,12 @@ msgstr ""
msgid "Invalid Selling Price"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2101
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2177
msgid "Invalid Serial and Batch Bundle"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1352
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1374
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1375
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1397
msgid "Invalid Source and Target Warehouse"
msgstr ""
@@ -25178,7 +25561,7 @@ msgstr ""
msgid "Invalid Upload"
msgstr ""
-#: erpnext/controllers/item_variant.py:193
+#: erpnext/controllers/item_variant.py:255
msgid "Invalid Value"
msgstr ""
@@ -25191,7 +25574,7 @@ msgstr ""
msgid "Invalid amount in accounting entries of {} {} for Account {}: {}"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:312
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:330
msgid "Invalid condition expression"
msgstr ""
@@ -25210,7 +25593,7 @@ msgstr ""
msgid "Invalid filter formula. Please check the syntax."
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:275
+#: erpnext/selling/doctype/quotation/quotation.py:278
msgid "Invalid lost reason {0}, please create a new lost reason"
msgstr ""
@@ -25218,13 +25601,13 @@ msgstr ""
msgid "Invalid naming series (. missing) for {0}"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:571
+#: erpnext/accounts/doctype/payment_request/payment_request.py:587
msgid "Invalid parameter. 'dn' should be of type str"
msgstr ""
#: erpnext/utilities/transaction_base.py:126
msgid "Invalid reference {0} {1}"
-msgstr "無效的參考{0} {1}"
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.py:143
msgid "Invalid regex pattern."
@@ -25255,16 +25638,16 @@ msgstr ""
#: erpnext/accounts/doctype/pricing_rule/utils.py:197
msgid "Invalid {0}"
-msgstr "無效的{0}"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2410
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2416
msgid "Invalid {0} for Inter Company Transaction."
msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:101
#: erpnext/controllers/sales_and_purchase_return.py:34
msgid "Invalid {0}: {1}"
-msgstr "無效的{0}:{1}"
+msgstr ""
#. Label of the inventory_section (Tab Break) field in DocType 'Item'
#: erpnext/setup/install.py:409 erpnext/stock/doctype/item/item.json
@@ -25319,7 +25702,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:72
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:124
msgid "Investments"
-msgstr "投資"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Invite Users'
@@ -25340,7 +25723,7 @@ msgstr ""
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:194
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:97
msgid "Invoice"
-msgstr "發票"
+msgstr ""
#. Label of the enable_features_section (Section Break) field in DocType
#. 'Accounts Settings'
@@ -25367,7 +25750,7 @@ msgstr ""
msgid "Invoice Document Type Selection Error"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1211
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1218
msgid "Invoice Grand Total"
msgstr ""
@@ -25385,6 +25768,7 @@ msgstr ""
#. Creation Tool Item'
#. Label of the invoice_number (Dynamic Link) field in DocType 'Payment
#. Reconciliation Allocation'
+#. Label of the invoice_number (Dynamic Link) field in DocType 'Payment
#. Reconciliation Invoice'
#. Label of the invoice_number (Dynamic Link) field in DocType 'Process Payment
#. Reconciliation Log Allocations'
@@ -25405,7 +25789,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:45
msgid "Invoice Portion"
-msgstr "發票部分"
+msgstr ""
#. Label of the invoice_portion (Float) field in DocType 'Payment Term'
#. Label of the invoice_portion (Float) field in DocType 'Payment Terms
@@ -25417,7 +25801,7 @@ msgstr ""
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:106
msgid "Invoice Posting Date"
-msgstr "發票發布日期"
+msgstr ""
#. Label of the invoice_series (Select) field in DocType 'Import Supplier
#. Invoice'
@@ -25447,7 +25831,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_payment_reconciliation_log_allocations/process_payment_reconciliation_log_allocations.json
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:85
msgid "Invoice Type"
-msgstr "發票類型"
+msgstr ""
#. Label of the invoice_type (Select) field in DocType 'POS Settings'
#: erpnext/accounts/doctype/pos_settings/pos_settings.json
@@ -25456,7 +25840,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:420
msgid "Invoice already created for all billing hours"
-msgstr "發票已在所有結算時間創建"
+msgstr ""
#. Label of the invoice_and_billing_tab (Tab Break) field in DocType 'Accounts
#. Settings'
@@ -25466,16 +25850,20 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:417
msgid "Invoice can't be made for zero billing hour"
-msgstr "在零計費時間內無法開具發票"
+msgstr ""
+
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1933
+msgid "Invoice is not blocked. Block the invoice to change the release date."
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:171
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:139
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:140
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1213
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1220
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:164
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:194
msgid "Invoiced Amount"
-msgstr "發票金額"
+msgstr ""
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:76
msgid "Invoiced Qty"
@@ -25492,11 +25880,11 @@ 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:2461
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2467
#: 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"
-msgstr "發票"
+msgstr ""
#. Description of the 'Allocated' (Check) field in DocType 'Process Payment
#. Reconciliation Log'
@@ -25565,6 +25953,7 @@ msgstr ""
#. Label of the is_advance (Select) field in DocType 'Journal Entry Account'
#. Label of the is_advance (Data) field in DocType 'Payment Reconciliation
#. Allocation'
+#. Label of the is_advance (Data) field in DocType 'Payment Reconciliation
#. Payment'
#. Label of the is_advance (Data) field in DocType 'Process Payment
#. Reconciliation Log Allocations'
@@ -25752,7 +26141,7 @@ msgstr ""
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/selling/report/customer_credit_balance/customer_credit_balance.py:69
msgid "Is Frozen"
-msgstr "就是冰凍"
+msgstr ""
#. Label of the is_fully_depreciated (Check) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -25786,6 +26175,7 @@ msgstr ""
#. Invoice'
#. Label of the is_internal_supplier (Check) field in DocType 'Purchase Order'
#. Label of the is_internal_supplier (Check) field in DocType 'Supplier'
+#. Label of the is_internal_supplier (Check) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -25820,7 +26210,9 @@ msgstr ""
#. Label of the is_old_subcontracting_flow (Check) field in DocType 'Purchase
#. Invoice'
+#. Label of the is_old_subcontracting_flow (Check) field in DocType 'Purchase
#. Order'
+#. Label of the is_old_subcontracting_flow (Check) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -25940,7 +26332,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Is Return"
-msgstr "退貨"
+msgstr ""
#. Label of the is_return (Check) field in DocType 'POS Invoice'
#. Label of the is_return (Check) field in DocType 'Sales Invoice'
@@ -26014,7 +26406,9 @@ msgstr ""
#. Label of the is_tax_withholding_account (Check) field in DocType 'Journal
#. Entry Account'
#. Label of the is_tax_withholding_account (Check) field in DocType 'Purchase
+#. Taxes and Charges'
#. Label of the is_tax_withholding_account (Check) field in DocType 'Sales
+#. Taxes and Charges'
#: 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/purchase_taxes_and_charges/purchase_taxes_and_charges.json
@@ -26049,6 +26443,7 @@ msgstr ""
#. Label of the included_in_print_rate (Check) field in DocType 'Purchase Taxes
#. and Charges'
#. Label of the included_in_print_rate (Check) field in DocType 'Sales Taxes
+#. and Charges'
#: 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 "Is this Tax included in Basic Rate?"
@@ -26077,7 +26472,7 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/support.json
msgid "Issue"
-msgstr "問題"
+msgstr ""
#. Name of a report
#: erpnext/support/report/issue_analytics/issue_analytics.json
@@ -26094,9 +26489,9 @@ msgstr ""
msgid "Issue Date"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:180
+#: erpnext/stock/doctype/material_request/material_request.js:183
msgid "Issue Material"
-msgstr "發行材料"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Support Workspace
@@ -26132,7 +26527,7 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/support.json
msgid "Issue Type"
-msgstr "發行類型"
+msgstr ""
#. Description of the 'Is Rate Adjustment Entry (Debit Note)' (Check) field in
#. DocType 'Sales Invoice'
@@ -26146,12 +26541,12 @@ msgstr ""
#: erpnext/stock/doctype/material_request/material_request.json
#: erpnext/stock/doctype/material_request/material_request_list.js:44
msgid "Issued"
-msgstr "發行"
+msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/issued_items_against_work_order/issued_items_against_work_order.json
msgid "Issued Items Against Work Order"
-msgstr "針對工單發布物品"
+msgstr ""
#. Label of the issues_sb (Section Break) field in DocType 'Support Settings'
#. Label of a Card Break in the Support Workspace
@@ -26159,7 +26554,7 @@ msgstr "針對工單發布物品"
#: erpnext/support/doctype/support_settings/support_settings.json
#: erpnext/support/workspace/support/support.json
msgid "Issues"
-msgstr "問題"
+msgstr ""
#. Label of the issuing_date (Date) field in DocType 'Driver'
#. Label of the issuing_date (Date) field in DocType 'Driving License Category'
@@ -26172,9 +26567,9 @@ msgstr ""
msgid "It can take upto few hours for accurate stock values to be visible after merging items."
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2580
+#: erpnext/public/js/controllers/transaction.js:2569
msgid "It is needed to fetch Item Details."
-msgstr "需要獲取項目細節。"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankBalance.tsx:79
msgid "It takes into account all the transactions that have been posted and subtracts the transactions that have not cleared yet."
@@ -26238,9 +26633,10 @@ 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:1248
+#: erpnext/controllers/taxes_and_totals.py:1253
+#: erpnext/controllers/trends.py:377
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
-#: erpnext/manufacturing/doctype/bom/bom.js:1088
+#: erpnext/manufacturing/doctype/bom/bom.js:1092
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:109
#: erpnext/manufacturing/doctype/workstation/workstation_job_card.html:25
#: erpnext/manufacturing/report/bom_stock_analysis/bom_stock_analysis.py:101
@@ -26249,8 +26645,8 @@ msgstr ""
#: erpnext/manufacturing/report/process_loss_report/process_loss_report.js:15
#: erpnext/manufacturing/report/process_loss_report/process_loss_report.py:74
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:234
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:385
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:242
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:393
#: erpnext/public/js/purchase_trends_filters.js:48
#: erpnext/public/js/purchase_trends_filters.js:63
#: erpnext/public/js/sales_trends_filters.js:23
@@ -26297,7 +26693,7 @@ msgstr ""
#: erpnext/stock/report/stock_analytics/stock_analytics.js:15
#: erpnext/stock/report/stock_analytics/stock_analytics.py:43
#: erpnext/stock/report/stock_balance/stock_balance.py:470
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:288
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:291
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.js:27
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:51
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.js:28
@@ -26318,27 +26714,27 @@ msgstr ""
#: erpnext/workspace_sidebar/subcontracting.json
#: erpnext/workspace_sidebar/subscription.json
msgid "Item"
-msgstr "項目"
+msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:8
msgid "Item 1"
-msgstr "項目1"
+msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:14
msgid "Item 2"
-msgstr "項目2"
+msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:20
msgid "Item 3"
-msgstr "項目3"
+msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:26
msgid "Item 4"
-msgstr "項目4"
+msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:32
msgid "Item 5"
-msgstr "項目5"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Stock Workspace
@@ -26348,7 +26744,7 @@ msgstr "項目5"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Alternative"
-msgstr "項目選擇"
+msgstr ""
#. Option for the 'Variant Based On' (Select) field in DocType 'Item'
#. Name of a DocType
@@ -26361,14 +26757,14 @@ msgstr "項目選擇"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Attribute"
-msgstr "項目屬性"
+msgstr ""
#. Name of a DocType
#. Label of the item_attribute_value (Data) field in DocType 'Item Variant'
#: erpnext/stock/doctype/item_attribute_value/item_attribute_value.json
#: erpnext/stock/doctype/item_variant/item_variant.json
msgid "Item Attribute Value"
-msgstr "項目屬性值"
+msgstr ""
#. Label of the item_attribute_values (Table) field in DocType 'Item Attribute'
#: erpnext/stock/doctype/item_attribute/item_attribute.json
@@ -26383,14 +26779,14 @@ msgstr ""
#. Name of a report
#: erpnext/stock/report/item_balance/item_balance.json
msgid "Item Balance (Simple)"
-msgstr "物品餘額(簡單)"
+msgstr ""
#. Name of a DocType
#. Label of the item_barcode (Data) field in DocType 'Quick Stock Balance'
#: erpnext/stock/doctype/item_barcode/item_barcode.json
#: erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.json
msgid "Item Barcode"
-msgstr "商品條碼"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:48
msgid "Item Cart"
@@ -26412,13 +26808,16 @@ msgstr ""
#. Label of the item_code (Link) field in DocType 'Asset Capitalization Asset
#. Item'
#. Label of the item_code (Link) field in DocType 'Asset Capitalization Service
+#. Item'
#. Label of the item_code (Link) field in DocType 'Asset Capitalization Stock
+#. Item'
#. Label of the item_code (Read Only) field in DocType 'Asset Maintenance'
#. Label of the item_code (Read Only) field in DocType 'Asset Maintenance Log'
#. Label of the item_code (Link) field in DocType 'Purchase Order Item'
#. Label of the main_item_code (Link) field in DocType 'Purchase Order Item
#. Supplied'
#. Label of the main_item_code (Link) field in DocType 'Purchase Receipt Item
+#. Supplied'
#. Label of the item_code (Link) field in DocType 'Request for Quotation Item'
#. Label of the item_code (Link) field in DocType 'Supplier Quotation Item'
#. Label of the item_code (Link) field in DocType 'Opportunity Item'
@@ -26433,6 +26832,7 @@ msgstr ""
#. Label of the item_code (Link) field in DocType 'BOM Website Item'
#. Label of the item_code (Link) field in DocType 'Job Card Item'
#. Label of the item_code (Link) field in DocType 'Master Production Schedule
+#. Item'
#. Label of the item_code (Link) field in DocType 'Material Request Plan Item'
#. Label of the item_code (Link) field in DocType 'Production Plan'
#. Label of the item_code (Link) field in DocType 'Production Plan Item'
@@ -26469,16 +26869,21 @@ msgstr ""
#. Label of the item_code (Link) field in DocType 'Stock Reservation Entry'
#. Option for the 'Item Naming By' (Select) field in DocType 'Stock Settings'
#. Label of the item_code (Link) field in DocType 'Subcontracting Inward Order
+#. Item'
#. Label of the main_item_code (Link) field in DocType 'Subcontracting Inward
#. Order Received Item'
+#. Label of the item_code (Link) field in DocType 'Subcontracting Inward Order
#. Secondary Item'
+#. Label of the item_code (Link) field in DocType 'Subcontracting Inward Order
#. Service Item'
#. Label of the item_code (Link) field in DocType 'Subcontracting Order Item'
#. Label of the item_code (Link) field in DocType 'Subcontracting Order Service
+#. Item'
#. Label of the main_item_code (Link) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the item_code (Link) field in DocType 'Subcontracting Receipt Item'
#. Label of the main_item_code (Link) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#. Label of the item_code (Link) field in DocType 'Warranty Claim'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.json
@@ -26488,7 +26893,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:314
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:68
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:37
-#: erpnext/accounts/report/gross_profit/gross_profit.py:312
+#: erpnext/accounts/report/gross_profit/gross_profit.py:314
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:148
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:167
#: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:37
@@ -26541,11 +26946,11 @@ msgstr ""
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.js:27
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:86
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:119
-#: erpnext/projects/doctype/timesheet/timesheet.js:214
-#: erpnext/public/js/controllers/transaction.js:2874
+#: erpnext/projects/doctype/timesheet/timesheet.js:216
+#: erpnext/public/js/controllers/transaction.js:2863
#: erpnext/public/js/stock_reservation.js:112
#: erpnext/public/js/stock_reservation.js:318 erpnext/public/js/utils.js:596
-#: erpnext/public/js/utils.js:753
+#: erpnext/public/js/utils.js:754
#: erpnext/public/js/utils/serial_no_batch_selector.js:96
#: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json
#: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
@@ -26571,6 +26976,7 @@ msgstr ""
#: erpnext/stock/doctype/item_manufacturer/item_manufacturer.json
#: erpnext/stock/doctype/item_price/item_price.json
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
+#: erpnext/stock/doctype/material_request/material_request.js:487
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
@@ -26605,9 +27011,9 @@ msgstr ""
#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:433
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:7
#: erpnext/stock/report/stock_ageing/stock_ageing.py:177
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:104
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:105
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:25
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:26
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:32
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_received_item/subcontracting_inward_order_received_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_secondary_item/subcontracting_inward_order_secondary_item.json
@@ -26623,7 +27029,7 @@ msgstr ""
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
#: erpnext/templates/includes/products_as_list.html:14
msgid "Item Code"
-msgstr "產品編號"
+msgstr ""
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.js:61
msgid "Item Code (Final Product)"
@@ -26635,11 +27041,11 @@ msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.py:83
msgid "Item Code cannot be changed for Serial No."
-msgstr "產品編號不能為序列號改變"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:451
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:461
msgid "Item Code required at Row No {0}"
-msgstr "於列{0}需要產品編號"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_controller.js:816
#: erpnext/selling/page/point_of_sale/pos_item_details.js:277
@@ -26649,12 +27055,12 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/item_customer_detail/item_customer_detail.json
msgid "Item Customer Detail"
-msgstr "項目客戶詳細"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/item_default/item_default.json
msgid "Item Default"
-msgstr "項目默認值"
+msgstr ""
#. Label of the item_defaults (Table) field in DocType 'Item'
#. Label of the item_defaults_section (Section Break) field in DocType 'Stock
@@ -26720,6 +27126,7 @@ msgstr ""
#. Label of the item_group (Link) field in DocType 'Sales Order Item'
#. Label of a Link in the Selling Workspace
#. Option for the 'Customer or Item' (Select) field in DocType 'Authorization
+#. Rule'
#. Name of a DocType
#. Label of the item_group (Link) field in DocType 'Target Detail'
#. Label of the item_group (Link) field in DocType 'Website Item Group'
@@ -26744,7 +27151,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
#: erpnext/accounts/report/gross_profit/gross_profit.js:44
-#: erpnext/accounts/report/gross_profit/gross_profit.py:325
+#: erpnext/accounts/report/gross_profit/gross_profit.py:327
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js:21
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:29
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js:28
@@ -26759,6 +27166,7 @@ msgstr ""
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.js:30
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:40
#: erpnext/buying/workspace/buying/buying.json
+#: erpnext/controllers/trends.py:387
#: erpnext/crm/doctype/opportunity_item/opportunity_item.json
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.json
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
@@ -26808,15 +27216,15 @@ msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.js:32
#: erpnext/stock/report/stock_balance/stock_balance.py:478
#: erpnext/stock/report/stock_ledger/stock_ledger.js:71
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:346
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:349
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.js:39
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:113
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:114
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.js:33
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py:99
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/selling.json erpnext/workspace_sidebar/stock.json
msgid "Item Group"
-msgstr "項目群組"
+msgstr ""
#. Label of the item_group_defaults (Table) field in DocType 'Item Group'
#: erpnext/setup/doctype/item_group/item_group.json
@@ -26830,11 +27238,11 @@ msgstr ""
#: erpnext/setup/doctype/item_group/item_group.js:82
msgid "Item Group Tree"
-msgstr "項目群組的樹狀結構"
+msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:525
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:543
msgid "Item Group not mentioned in item master for item {0}"
-msgstr "項目{0}之項目主檔未提及之項目群組"
+msgstr ""
#. Option for the 'Based On' (Select) field in DocType 'Authorization Rule'
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
@@ -26886,7 +27294,7 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.json
#: erpnext/stock/doctype/warehouse_type/warehouse_type.json
msgid "Item Manager"
-msgstr "項目經理"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Stock Workspace
@@ -26904,7 +27312,9 @@ msgstr ""
#. Label of the item_name (Data) field in DocType 'Asset Capitalization Asset
#. Item'
#. Label of the item_name (Data) field in DocType 'Asset Capitalization Service
+#. Item'
#. Label of the item_name (Data) field in DocType 'Asset Capitalization Stock
+#. Item'
#. Label of the item_name (Read Only) field in DocType 'Asset Maintenance'
#. Label of the item_name (Read Only) field in DocType 'Asset Maintenance Log'
#. Label of the item_name (Data) field in DocType 'Purchase Order Item'
@@ -26927,8 +27337,10 @@ msgstr ""
#. Label of the item_name (Read Only) field in DocType 'Job Card'
#. Label of the item_name (Data) field in DocType 'Job Card Item'
#. Label of the item_name (Data) field in DocType 'Master Production Schedule
+#. Item'
#. Label of the item_name (Data) field in DocType 'Material Request Plan Item'
#. Label of the item_name (Data) field in DocType 'Production Plan Sub Assembly
+#. Item'
#. Label of the item_name (Data) field in DocType 'Sales Forecast Item'
#. Label of the item_name (Data) field in DocType 'Work Order'
#. Label of the item_name (Data) field in DocType 'Work Order Item'
@@ -26955,9 +27367,12 @@ msgstr ""
#. Label of the item_name (Data) field in DocType 'Stock Entry Detail'
#. Label of the item_name (Data) field in DocType 'Stock Reconciliation Item'
#. Label of the item_name (Data) field in DocType 'Subcontracting Inward Order
+#. Item'
+#. Label of the item_name (Data) field in DocType 'Subcontracting Inward Order
#. Service Item'
#. Label of the item_name (Data) field in DocType 'Subcontracting Order Item'
#. Label of the item_name (Data) field in DocType 'Subcontracting Order Service
+#. Item'
#. Label of the item_name (Data) field in DocType 'Subcontracting Receipt Item'
#. Label of the item_name (Data) field in DocType 'Subcontracting Receipt
#. Supplied Item'
@@ -26968,7 +27383,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:74
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:71
-#: erpnext/accounts/report/gross_profit/gross_profit.py:319
+#: erpnext/accounts/report/gross_profit/gross_profit.py:321
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:34
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:154
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:173
@@ -26986,6 +27401,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:34
#: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:204
+#: erpnext/controllers/trends.py:378
#: erpnext/crm/doctype/opportunity_item/opportunity_item.json
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js:101
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
@@ -27018,8 +27434,8 @@ msgstr ""
#: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:371
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:92
#: erpnext/manufacturing/report/work_order_consumed_materials/work_order_consumed_materials.py:138
-#: erpnext/public/js/controllers/transaction.js:2880
-#: erpnext/public/js/utils.js:849
+#: erpnext/public/js/controllers/transaction.js:2869
+#: erpnext/public/js/utils.js:852
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1286
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -27033,6 +27449,7 @@ msgstr ""
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
#: erpnext/stock/doctype/item_manufacturer/item_manufacturer.json
#: erpnext/stock/doctype/item_price/item_price.json
+#: erpnext/stock/doctype/material_request/material_request.js:495
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
@@ -27061,10 +27478,10 @@ msgstr ""
#: erpnext/stock/report/stock_ageing/stock_ageing.py:183
#: erpnext/stock/report/stock_analytics/stock_analytics.py:45
#: erpnext/stock/report/stock_balance/stock_balance.py:476
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:294
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:110
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:297
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:111
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:31
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:32
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:38
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py:98
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json
@@ -27074,7 +27491,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
msgid "Item Name"
-msgstr "項目名稱"
+msgstr ""
#. Label of the item_naming_by (Select) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -27096,7 +27513,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/selling.json
msgid "Item Price"
-msgstr "商品價格"
+msgstr ""
#. Label of the item_price_settings_section (Section Break) field in DocType
#. 'Accounts Settings'
@@ -27111,7 +27528,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Price Stock"
-msgstr "項目價格庫存"
+msgstr ""
#: erpnext/stock/get_item_details.py:1143
#: erpnext/stock/get_item_details.py:1167
@@ -27128,7 +27545,7 @@ msgstr ""
#: erpnext/stock/get_item_details.py:1126
msgid "Item Price updated for {0} in Price List {1}"
-msgstr "項目價格更新{0}價格表{1}"
+msgstr ""
#. Label of the item_prices_column (Column Break) field in DocType 'Item'
#. Name of a report
@@ -27137,7 +27554,7 @@ msgstr "項目價格更新{0}價格表{1}"
#: erpnext/stock/report/item_prices/item_prices.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Item Prices"
-msgstr "產品價格"
+msgstr ""
#. Name of a DocType
#. Label of the item_quality_inspection_parameter (Table) field in DocType
@@ -27145,7 +27562,7 @@ msgstr "產品價格"
#: erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
#: erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.json
msgid "Item Quality Inspection Parameter"
-msgstr "產品質量檢驗參數"
+msgstr ""
#. Label of the item_reference (Link) field in DocType 'Maintenance Schedule
#. Detail'
@@ -27164,7 +27581,7 @@ msgstr ""
#: erpnext/stock/doctype/item_reorder/item_reorder.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
msgid "Item Reorder"
-msgstr "項目重新排序"
+msgstr ""
#. Label of the item_row (Data) field in DocType 'Item Wise Tax Detail'
#: erpnext/accounts/doctype/item_wise_tax_detail/item_wise_tax_detail.json
@@ -27173,7 +27590,7 @@ msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:168
msgid "Item Row {0}: {1} {2} does not exist in above '{1}' table"
-msgstr "項目行{0}:{1} {2}在上面的“{1}”表格中不存在"
+msgstr ""
#. Label of the item_serial_no (Link) field in DocType 'Quality Inspection'
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
@@ -27187,25 +27604,26 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Shortage Report"
-msgstr "商品短缺報告"
+msgstr ""
#. Label of the supplier_items (Table) field in DocType 'Item'
#. Name of a DocType
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item_supplier/item_supplier.json
msgid "Item Supplier"
-msgstr "產品供應商"
+msgstr ""
#. Label of the sec_break_taxes (Section Break) field in DocType 'Item Group'
#. Name of a DocType
#: erpnext/setup/doctype/item_group/item_group.json
#: erpnext/stock/doctype/item_tax/item_tax.json
msgid "Item Tax"
-msgstr "產品稅"
+msgstr ""
#. Label of the item_tax_amount (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the item_tax_amount (Currency) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Item Tax Amount Included in Value"
@@ -27220,6 +27638,7 @@ msgstr ""
#. Label of the item_tax_rate (Code) field in DocType 'Quotation Item'
#. Label of the item_tax_rate (Code) field in DocType 'Sales Order Item'
#. Label of the item_tax_rate (Small Text) field in DocType 'Delivery Note
+#. Item'
#. Label of the item_tax_rate (Code) field in DocType 'Purchase Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -27235,7 +27654,7 @@ msgstr ""
#: erpnext/accounts/doctype/item_tax_template/item_tax_template.py:68
msgid "Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable"
-msgstr "商品稅行{0}必須有科目類型為\"稅\" 或 \"收入\" 或 \"支出\" 或 \"課稅的\""
+msgstr ""
#: erpnext/accounts/doctype/item_tax_template/item_tax_template.py:55
msgid "Item Tax Row {0}: Account must belong to Company - {1}"
@@ -27249,11 +27668,13 @@ msgstr ""
#. Label of a Link in the Invoicing Workspace
#. Label of the item_tax_template (Link) field in DocType 'Purchase Order Item'
#. Label of the item_tax_template (Link) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the item_tax_template (Link) field in DocType 'Quotation Item'
#. Label of the item_tax_template (Link) field in DocType 'Sales Order Item'
#. Label of the item_tax_template (Link) field in DocType 'Delivery Note Item'
#. Label of the item_tax_template (Link) field in DocType 'Item Tax'
#. Label of the item_tax_template (Link) field in DocType 'Purchase Receipt
+#. Item'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/item_tax_template/item_tax_template.json
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
@@ -27285,12 +27706,12 @@ msgstr ""
#: erpnext/stock/doctype/item_variant/item_variant.json
#: erpnext/stock/report/item_where_used/item_where_used.py:385
msgid "Item Variant"
-msgstr "項目變"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.json
msgid "Item Variant Attribute"
-msgstr "產品規格屬性"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -27299,7 +27720,7 @@ msgstr "產品規格屬性"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Variant Details"
-msgstr "項目變體的詳細信息"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Stock Workspace
@@ -27310,37 +27731,42 @@ msgstr "項目變體的詳細信息"
#: erpnext/workspace_sidebar/erpnext_settings.json
#: erpnext/workspace_sidebar/stock.json
msgid "Item Variant Settings"
-msgstr "項目變式設置"
+msgstr ""
-#: erpnext/stock/doctype/item/item.js:1120
+#: erpnext/stock/doctype/item/item.js:1126
msgid "Item Variant {0} already exists with same attributes"
-msgstr "項目變種{0}已經具有相同屬性的存在"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:836
msgid "Item Variants updated"
msgstr ""
-#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:87
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:97
msgid "Item Warehouse based reposting has been enabled."
msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/item_website_specification/item_website_specification.json
msgid "Item Website Specification"
-msgstr "項目網站規格"
+msgstr ""
#. Label of the section_break_18 (Section Break) field in DocType 'POS Invoice
#. Item'
#. Label of the item_weight_details (Section Break) field in DocType 'Purchase
#. Invoice Item'
#. Label of the section_break_18 (Section Break) field in DocType 'Sales
+#. Invoice Item'
+#. Label of the item_weight_details (Section Break) field in DocType 'Purchase
#. Order Item'
#. Label of the item_weight_details (Section Break) field in DocType 'Supplier
#. Quotation Item'
#. Label of the item_weight_details (Section Break) field in DocType 'Quotation
+#. Item'
#. Label of the item_weight_details (Section Break) field in DocType 'Sales
+#. Order Item'
#. Label of the item_weight_details (Section Break) field in DocType 'Delivery
#. Note Item'
+#. Label of the item_weight_details (Section Break) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -27383,6 +27809,7 @@ msgstr ""
#. Label of the item_wise_tax_details (Table) field in DocType 'Quotation'
#. Label of the item_wise_tax_details (Table) field in DocType 'Sales Order'
#. Label of the item_wise_tax_details (Table) field in DocType 'Delivery Note'
+#. Label of the item_wise_tax_details (Table) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -27396,7 +27823,7 @@ msgstr ""
msgid "Item Wise Tax Details"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:563
+#: erpnext/controllers/taxes_and_totals.py:568
msgid "Item Wise Tax Details do not match with Taxes and Charges at the following rows:"
msgstr ""
@@ -27416,15 +27843,15 @@ msgstr ""
msgid "Item and Warranty Details"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3815
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3891
msgid "Item for row {0} does not match Material Request"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:895
+#: erpnext/stock/doctype/item/item.py:905
msgid "Item has variants."
-msgstr "項目已變種。"
+msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:436
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:444
msgid "Item is mandatory in Raw Materials table."
msgstr ""
@@ -27434,7 +27861,7 @@ msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:164
msgid "Item must be added using 'Get Items from Purchase Receipts' button"
-msgstr "項目必須使用'從採購入庫“按鈕進行新增"
+msgstr ""
#: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py:42
#: erpnext/selling/doctype/sales_order/sales_order.js:1681
@@ -27446,14 +27873,18 @@ msgstr ""
msgid "Item operation"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3995
+#: erpnext/controllers/accounts_controller.py:4036
msgid "Item qty can not be updated as raw materials are already processed."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1498
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1531
msgid "Item rate has been updated to zero as Allow Zero Valuation Rate is checked for item {0}"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.py:239
+msgid "Item rates have been updated based on the selected Buying Price List {0}"
+msgstr ""
+
#. Label of the item (Link) field in DocType 'BOM'
#. Label of the finished_good (Link) field in DocType 'Job Card'
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -27469,11 +27900,11 @@ msgstr ""
msgid "Item valuation reposting in progress. Report might show incorrect item valuation."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1052
+#: erpnext/stock/doctype/item/item.py:1062
msgid "Item variant {0} exists with same attributes"
-msgstr "項目變種{0}存在具有相同屬性"
+msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:578
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:579
msgid "Item with name {0} not found in the Purchase Order"
msgstr ""
@@ -27485,20 +27916,25 @@ msgstr ""
msgid "Item {0} cannot be added as a sub-assembly of itself"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.py:694
+msgid "Item {0} cannot be ordered more than once"
+msgstr ""
+
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.py:197
msgid "Item {0} cannot be ordered more than {1} against Blanket Order {2}."
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:347
#: erpnext/stock/doctype/item/item.py:687
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:102
msgid "Item {0} does not exist"
-msgstr "項目{0}不存在"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:709
msgid "Item {0} does not exist in the system or has expired"
-msgstr "項目{0}不存在於系統中或已過期"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:597
+#: erpnext/controllers/stock_controller.py:616
msgid "Item {0} does not exist."
msgstr ""
@@ -27506,55 +27942,55 @@ msgstr ""
msgid "Item {0} entered multiple times."
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:221
+#: erpnext/controllers/sales_and_purchase_return.py:239
msgid "Item {0} has already been returned"
-msgstr "項{0}已被退回"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:349
msgid "Item {0} has been disabled"
-msgstr "項{0}已被禁用"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:788
msgid "Item {0} has no Serial No. Only serialized items can have delivery based on Serial No"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:597
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:598
msgid "Item {0} has no changes in delivered quantity. Please unselect the row if you do not wish to update its quantity."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1250
+#: erpnext/stock/doctype/item/item.py:1260
msgid "Item {0} has reached its end of life on {1}"
-msgstr "項{0}已達到其壽命結束於{1}"
+msgstr ""
-#: erpnext/stock/stock_ledger.py:117
+#: erpnext/stock/stock_ledger.py:144
msgid "Item {0} ignored since it is not a stock item"
-msgstr "項目{0}被忽略,因為它不是一個庫存項目"
+msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:608
msgid "Item {0} is already reserved/delivered against Sales Order {1}."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1270
+#: erpnext/stock/doctype/item/item.py:1280
msgid "Item {0} is cancelled"
-msgstr "項{0}將被取消"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:1254
+#: erpnext/stock/doctype/item/item.py:1264
msgid "Item {0} is disabled"
-msgstr "項目{0}無效"
+msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:583
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:584
msgid "Item {0} is not a drop ship item. Only drop ship items can have Delivered Qty updated."
msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.py:79
msgid "Item {0} is not a serialized Item"
-msgstr "項{0}不是一個序列化的項目"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:1262
+#: erpnext/stock/doctype/item/item.py:1272
msgid "Item {0} is not a stock Item"
-msgstr "項{0}不是缺貨登記"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:957
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:958
msgid "Item {0} is not a subcontracted item"
msgstr ""
@@ -27562,13 +27998,13 @@ msgstr ""
msgid "Item {0} is not a template item."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2539
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2615
msgid "Item {0} is not active or end of life has been reached"
-msgstr "項目{0}不活躍或生命的盡頭已經達到"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:351
msgid "Item {0} must be a Fixed Asset Item"
-msgstr "項{0}必須是固定資產項目"
+msgstr ""
#: erpnext/stock/get_item_details.py:351
msgid "Item {0} must be a Non-Stock Item"
@@ -27576,13 +28012,13 @@ msgstr ""
#: erpnext/stock/get_item_details.py:348
msgid "Item {0} must be a Sub-contracted Item"
-msgstr "項{0}必須是一個小項目簽約"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:353
msgid "Item {0} must be a non-stock item"
-msgstr "項{0}必須是一個非庫存項目"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1839
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1913
msgid "Item {0} not found in 'Raw Materials Supplied' table in {1} {2}"
msgstr ""
@@ -27590,22 +28026,22 @@ msgstr ""
msgid "Item {0} not found."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:327
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:328
msgid "Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item)."
-msgstr "項目{0}:有序數量{1}不能低於最低訂貨量{2}(項中定義)。"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:573
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:571
msgid "Item {0}: {1} qty produced. "
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1334
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1337
msgid "Item {} does not exist."
msgstr ""
#. Name of a report
#: erpnext/stock/report/item_wise_price_list_rate/item_wise_price_list_rate.json
msgid "Item-wise Price List Rate"
-msgstr "全部項目的價格表"
+msgstr ""
#. Name of a report
#. Label of a Link in the Buying Workspace
@@ -27614,14 +28050,14 @@ msgstr "全部項目的價格表"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Item-wise Purchase History"
-msgstr "全部項目的購買歷史"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Item-wise Purchase Register"
-msgstr "項目明智的購買登記"
+msgstr ""
#. Name of a report
#. Label of a Link in the Selling Workspace
@@ -27630,14 +28066,14 @@ msgstr "項目明智的購買登記"
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Item-wise Sales History"
-msgstr "項目明智的銷售歷史"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.json
#: erpnext/workspace_sidebar/selling.json
msgid "Item-wise Sales Register"
-msgstr "項目明智的銷售登記"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/financial_reports.json
@@ -27650,7 +28086,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:452
msgid "Item: {0} does not exist in the system"
-msgstr "項:{0}不存在於系統中"
+msgstr ""
#. Label of a Card Break in the Buying Workspace
#. Label of a Workspace Sidebar Item
@@ -27666,9 +28102,9 @@ msgstr ""
#: erpnext/stock/report/item_prices/item_prices.js:8
msgid "Items Filter"
-msgstr "物品過濾"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1683
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1690
#: erpnext/selling/doctype/sales_order/sales_order.js:1719
msgid "Items Required"
msgstr ""
@@ -27685,18 +28121,18 @@ msgstr ""
#: erpnext/stock/report/items_to_be_requested/items_to_be_requested.json
#: erpnext/workspace_sidebar/buying.json
msgid "Items To Be Requested"
-msgstr "需求項目"
+msgstr ""
#. Label of a Card Break in the Selling Workspace
#: erpnext/selling/workspace/selling/selling.json
msgid "Items and Pricing"
-msgstr "項目和定價"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:4253
+#: erpnext/controllers/accounts_controller.py:4294
msgid "Items cannot be updated as Subcontracting Inward Order(s) exist against this Subcontracted Sales Order."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4246
+#: erpnext/controllers/accounts_controller.py:4287
msgid "Items cannot be updated as Subcontracting Order is created against the Purchase Order {0}."
msgstr ""
@@ -27708,7 +28144,7 @@ msgstr ""
msgid "Items not found."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1494
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1527
msgid "Items rate has been updated to zero as Allow Zero Valuation Rate is checked for the following items: {0}"
msgstr ""
@@ -27718,7 +28154,7 @@ msgstr ""
msgid "Items to Be Repost"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1682
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1689
msgid "Items to Manufacture are required to pull the Raw Materials associated with it."
msgstr ""
@@ -27738,7 +28174,7 @@ msgstr ""
msgid "Items under this warehouse will be suggested"
msgstr ""
-#: erpnext/controllers/stock_controller.py:202
+#: erpnext/controllers/stock_controller.py:221
msgid "Items {0} do not exist in the Item master."
msgstr ""
@@ -27754,7 +28190,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Itemwise Recommended Reorder Level"
-msgstr "Itemwise推薦級別重新排序"
+msgstr ""
#. Option for the 'Barcode Type' (Select) field in DocType 'Item Barcode'
#: erpnext/stock/doctype/item_barcode/item_barcode.json
@@ -27783,7 +28219,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/manufacturing/doctype/bom/bom.json
#: erpnext/manufacturing/doctype/job_card/job_card.json
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1017
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1030
#: erpnext/manufacturing/doctype/operation/operation.json
#: erpnext/manufacturing/doctype/work_order/work_order.js:408
#: erpnext/manufacturing/doctype/work_order/work_order.json
@@ -27810,7 +28246,7 @@ msgstr ""
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Job Card Item"
-msgstr "工作卡項目"
+msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.py:877
msgid "Job Card On Hold"
@@ -27851,7 +28287,7 @@ msgstr ""
msgid "Job Card and Capacity Planning"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1548
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1561
msgid "Job Card {0} has been completed"
msgstr ""
@@ -27920,15 +28356,16 @@ msgstr ""
#. Label of the supplier_warehouse (Link) field in DocType 'Subcontracting
#. Order'
+#. Label of the supplier_warehouse (Link) field in DocType 'Subcontracting
#. Receipt'
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Job Worker Warehouse"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2907
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2977
msgid "Job card {0} created"
-msgstr "已創建作業卡{0}"
+msgstr ""
#: erpnext/utilities/bulk_transaction.py:74
msgid "Job: {0} has been triggered for processing failed transactions"
@@ -27949,13 +28386,13 @@ msgstr ""
msgid "Joule/Meter"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:30
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:31
msgid "Journal Entries"
msgstr ""
#: erpnext/accounts/utils.py:1064
msgid "Journal Entries {0} are un-linked"
-msgstr "日記條目{0}都是非聯"
+msgstr ""
#. Name of a DocType
#. Option for the 'Entry Type' (Select) field in DocType 'Journal Entry'
@@ -27977,8 +28414,8 @@ msgstr "日記條目{0}都是非聯"
#: erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json
#: erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html:10
#: erpnext/accounts/workspace/invoicing/invoicing.json
-#: erpnext/assets/doctype/asset/asset.js:390
-#: erpnext/assets/doctype/asset/asset.js:399
+#: erpnext/assets/doctype/asset/asset.js:398
+#: erpnext/assets/doctype/asset/asset.js:407
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
@@ -27986,12 +28423,12 @@ msgstr "日記條目{0}都是非聯"
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Journal Entry"
-msgstr "日記帳分錄"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
msgid "Journal Entry Account"
-msgstr "日記帳分錄帳號"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Invoicing Workspace
@@ -28012,7 +28449,7 @@ msgstr ""
msgid "Journal Entry Type"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:561
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:562
msgid "Journal Entry for Asset scrapping cannot be cancelled. Please restore the Asset."
msgstr ""
@@ -28025,15 +28462,15 @@ msgstr ""
msgid "Journal Entry type should be set as Depreciation Entry for asset depreciation"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:731
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:732
msgid "Journal Entry {0} does not have account {1} or already matched against other voucher"
-msgstr "日記條目{0}沒有帳號{1}或已經匹配其他憑證"
+msgstr ""
#: banking/src/components/features/BankReconciliation/Rules/RuleForm.tsx:395
msgid "Journal Template Accounts"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:97
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:107
msgid "Journal entries have been created"
msgstr ""
@@ -28147,7 +28584,7 @@ msgstr ""
msgid "Kilowatt-Hour"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1019
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1032
msgid "Kindly cancel the Manufacturing Entries first against the work order {0}."
msgstr ""
@@ -28188,19 +28625,19 @@ msgstr ""
msgid "Landed Cost Help"
msgstr ""
-#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:18
+#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:20
msgid "Landed Cost Id"
msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
msgid "Landed Cost Item"
-msgstr "到岸成本項目"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
msgid "Landed Cost Purchase Receipt"
-msgstr "到岸成本採購入庫單"
+msgstr ""
#. Name of a report
#: erpnext/stock/report/landed_cost_report/landed_cost_report.json
@@ -28210,7 +28647,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.json
msgid "Landed Cost Taxes and Charges"
-msgstr "到岸成本稅費"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/landed_cost_vendor_invoice/landed_cost_vendor_invoice.json
@@ -28220,19 +28657,21 @@ msgstr ""
#. Name of a DocType
#. Label of a Link in the Stock Workspace
#. Label of a Workspace Sidebar Item
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:671
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:669
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:88
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Landed Cost Voucher"
-msgstr "到岸成本憑證"
+msgstr ""
#. Label of the landed_cost_voucher_amount (Currency) field in DocType
#. 'Purchase Invoice Item'
+#. Label of the landed_cost_voucher_amount (Currency) field in DocType
#. 'Purchase Receipt Item'
#. Label of the landed_cost_voucher_amount (Currency) field in DocType 'Stock
#. Entry Detail'
+#. Label of the landed_cost_voucher_amount (Currency) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -28246,7 +28685,7 @@ msgstr ""
msgid "Lapsed"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:274
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:277
msgid "Large"
msgstr ""
@@ -28257,11 +28696,11 @@ msgstr ""
#: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py:46
msgid "Last Communication"
-msgstr "最後溝通"
+msgstr ""
#: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py:52
msgid "Last Communication Date"
-msgstr "最後通訊日期"
+msgstr ""
#. Label of the last_completion_date (Date) field in DocType 'Asset Maintenance
#. Task'
@@ -28273,7 +28712,7 @@ msgstr ""
msgid "Last Fiscal Year"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:661
+#: erpnext/accounts/doctype/account/account.py:692
msgid "Last GL Entry update was done {}. This operation is not allowed while system is actively being used. Please wait for 5 minutes before retrying."
msgstr ""
@@ -28288,12 +28727,12 @@ msgstr ""
#: erpnext/selling/report/inactive_customers/inactive_customers.py:105
msgid "Last Order Amount"
-msgstr "最後訂單金額"
+msgstr ""
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:45
#: erpnext/selling/report/inactive_customers/inactive_customers.py:106
msgid "Last Order Date"
-msgstr "最後訂購日期"
+msgstr ""
#. Label of the last_purchase_rate (Currency) field in DocType 'Purchase Order
#. Item'
@@ -28308,7 +28747,7 @@ msgstr "最後訂購日期"
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/report/item_prices/item_prices.py:56
msgid "Last Purchase Rate"
-msgstr "最後預訂價"
+msgstr ""
#. Label of the last_scanned_warehouse (Data) field in DocType 'POS Invoice'
#. Label of the last_scanned_warehouse (Data) field in DocType 'Purchase
@@ -28320,6 +28759,7 @@ msgstr "最後預訂價"
#. Label of the last_scanned_warehouse (Data) field in DocType 'Delivery Note'
#. Label of the last_scanned_warehouse (Data) field in DocType 'Material
#. Request'
+#. Label of the last_scanned_warehouse (Data) field in DocType 'Purchase
#. Receipt'
#. Label of the last_scanned_warehouse (Data) field in DocType 'Stock Entry'
#. Label of the last_scanned_warehouse (Data) field in DocType 'Stock
@@ -28392,7 +28832,7 @@ msgstr ""
#: erpnext/setup/workspace/home/home.json
#: erpnext/support/doctype/issue/issue.json erpnext/workspace_sidebar/crm.json
msgid "Lead"
-msgstr "潛在客戶"
+msgstr ""
#: erpnext/crm/doctype/lead/lead.py:546
msgid "Lead -> Prospect"
@@ -28406,7 +28846,7 @@ msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:20
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:26
msgid "Lead Count"
-msgstr "鉛計數"
+msgstr ""
#. Name of a report
#. Label of a Link in the CRM Workspace
@@ -28414,13 +28854,13 @@ msgstr "鉛計數"
#: erpnext/crm/report/lead_details/lead_details.json
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Lead Details"
-msgstr "潛在客戶詳情"
+msgstr ""
#. Label of the lead_name (Data) field in DocType 'Prospect Lead'
#: erpnext/crm/doctype/prospect_lead/prospect_lead.json
#: erpnext/crm/report/lead_details/lead_details.py:24
msgid "Lead Name"
-msgstr "主導者名稱"
+msgstr ""
#. Label of the lead_owner (Link) field in DocType 'Lead'
#. Label of the lead_owner (Data) field in DocType 'Prospect Lead'
@@ -28429,7 +28869,7 @@ msgstr "主導者名稱"
#: erpnext/crm/report/lead_details/lead_details.py:28
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:21
msgid "Lead Owner"
-msgstr "主導擁有者"
+msgstr ""
#. Name of a report
#. Label of a Link in the CRM Workspace
@@ -28437,7 +28877,7 @@ msgstr "主導擁有者"
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.json
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Lead Owner Efficiency"
-msgstr "主導效率"
+msgstr ""
#: erpnext/crm/doctype/lead/lead.py:176
msgid "Lead Owner cannot be same as the Lead Email Address"
@@ -28447,7 +28887,7 @@ msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Lead Source"
-msgstr "主導來源"
+msgstr ""
#. Label of the cumulative_lead_time (Int) field in DocType 'Master Production
#. Schedule Item'
@@ -28474,7 +28914,7 @@ msgstr ""
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:59
msgid "Lead Time Days"
-msgstr "交貨期天"
+msgstr ""
#. Label of the lead_time_days (Int) field in DocType 'Item'
#. Label of the lead_time_days (Int) field in DocType 'Item Price'
@@ -28499,7 +28939,7 @@ msgstr ""
#: erpnext/utilities/activation.py:78
msgid "Leads help you get business, add all your contacts and more as your leads"
-msgstr "信息幫助你的業務,你所有的聯繫人和更添加為您的線索"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'Learn Asset'
@@ -28527,8 +28967,7 @@ msgstr ""
#. Description of the 'Success Redirect URL' (Data) field in DocType
#. 'Appointment Booking Settings'
#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
-msgid ""
-"Leave blank for home.\n"
+msgid "Leave blank for home.\n"
"This is relative to site URL, for example \"about\" will redirect to \"https://yoursitename.com/about\""
msgstr ""
@@ -28572,7 +29011,7 @@ msgstr ""
msgid "Ledger Merge Accounts"
msgstr ""
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:146
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:151
msgid "Ledger Type"
msgstr ""
@@ -28612,7 +29051,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:111
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:190
msgid "Legal Expenses"
-msgstr "法律費用"
+msgstr ""
#: erpnext/regional/report/uae_vat_201/uae_vat_201.py:31
msgid "Legend"
@@ -28654,7 +29093,7 @@ msgstr ""
msgid "Lft"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:253
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:262
msgid "Liabilities"
msgstr ""
@@ -28667,7 +29106,7 @@ msgstr ""
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
#: erpnext/accounts/report/account_balance/account_balance.js:26
msgid "Liability"
-msgstr "責任"
+msgstr ""
#. Label of the license_details (Section Break) field in DocType 'Driver'
#: erpnext/setup/doctype/driver/driver.json
@@ -28684,7 +29123,7 @@ msgstr ""
msgid "License Plate"
msgstr ""
-#: erpnext/controllers/status_updater.py:511
+#: erpnext/controllers/status_updater.py:513
msgid "Limit Crossed"
msgstr ""
@@ -28734,7 +29173,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:591
msgid "Link to Material Request"
-msgstr "鏈接到材料請求"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:452
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:80
@@ -28764,9 +29203,9 @@ msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/linked_location/linked_location.json
msgid "Linked Location"
-msgstr "鏈接位置"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:1104
+#: erpnext/stock/doctype/item/item.py:1114
msgid "Linked with submitted documents"
msgstr ""
@@ -28840,16 +29279,16 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:176
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:300
msgid "Loans (Liabilities)"
-msgstr "借款(負債)"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:25
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:36
msgid "Loans and Advances (Assets)"
-msgstr "貸款及墊款(資產)"
+msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:210
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:213
msgid "Local"
-msgstr "當地"
+msgstr ""
#. Label of the sb_location_details (Section Break) field in DocType 'Location'
#: erpnext/assets/doctype/location/location.json
@@ -28904,7 +29343,7 @@ msgstr ""
#: erpnext/selling/doctype/quotation/quotation_list.js:36
#: erpnext/stock/doctype/shipment/shipment.json
msgid "Lost"
-msgstr "丟失"
+msgstr ""
#. Name of a report
#: erpnext/crm/report/lost_opportunity/lost_opportunity.json
@@ -28915,7 +29354,7 @@ msgstr ""
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/report/lead_details/lead_details.js:38
msgid "Lost Quotation"
-msgstr "遺失報價"
+msgstr ""
#. Name of a report
#: erpnext/selling/report/lost_quotations/lost_quotations.json
@@ -28932,7 +29371,7 @@ msgstr ""
#: erpnext/crm/report/lost_opportunity/lost_opportunity.js:30
#: erpnext/selling/report/lost_quotations/lost_quotations.py:24
msgid "Lost Reason"
-msgstr "失落的原因"
+msgstr ""
#. Name of a DocType
#: erpnext/crm/doctype/lost_reason_detail/lost_reason_detail.json
@@ -28947,7 +29386,7 @@ msgstr ""
#. 'Quotation'
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/report/lost_opportunity/lost_opportunity.py:55
-#: erpnext/public/js/utils/sales_common.js:596
+#: erpnext/public/js/utils/sales_common.js:594
#: erpnext/selling/doctype/quotation/quotation.json
msgid "Lost Reasons"
msgstr ""
@@ -28967,6 +29406,7 @@ msgstr ""
#. Label of the lower_deduction_certificate (Link) field in DocType 'Tax
#. Withholding Entry'
#. Option for the 'Under Withheld Reason' (Select) field in DocType 'Tax
+#. Withholding Entry'
#. Label of a Link in the Invoicing Workspace
#. Name of a DocType
#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json
@@ -28975,10 +29415,10 @@ msgstr ""
msgid "Lower Deduction Certificate"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:309
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:426
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:312
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:429
msgid "Lower Income"
-msgstr "較低的收入"
+msgstr ""
#. Label of the loyalty_amount (Currency) field in DocType 'POS Invoice'
#. Label of the loyalty_amount (Currency) field in DocType 'Sales Invoice'
@@ -28996,12 +29436,12 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Loyalty Point Entry"
-msgstr "忠誠度積分"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/loyalty_point_entry_redemption/loyalty_point_entry_redemption.json
msgid "Loyalty Point Entry Redemption"
-msgstr "忠誠度積分兌換"
+msgstr ""
#. Label of the loyalty_points (Int) field in DocType 'Loyalty Point Entry'
#. Label of the loyalty_points (Int) field in DocType 'POS Invoice'
@@ -29017,7 +29457,7 @@ msgstr "忠誠度積分兌換"
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:970
msgid "Loyalty Points"
-msgstr "忠誠度積分"
+msgstr ""
#. Label of the loyalty_points_redemption (Section Break) field in DocType 'POS
#. Invoice'
@@ -29046,19 +29486,19 @@ msgstr ""
#: erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.json
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1225
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1234
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:963
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Loyalty Program"
-msgstr "忠誠計劃"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/loyalty_program_collection/loyalty_program_collection.json
msgid "Loyalty Program Collection"
-msgstr "忠誠度計劃集"
+msgstr ""
#. Label of the loyalty_program_help (HTML) field in DocType 'Loyalty Program'
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
@@ -29108,7 +29548,7 @@ msgstr ""
msgid "MRP Log documents are being created in the background."
msgstr ""
-#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:157
+#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:181
msgid "MT940 file detected. Please enable 'Import MT940 Format' to proceed."
msgstr ""
@@ -29132,12 +29572,12 @@ msgstr ""
msgid "Machine operator errors"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:721
-#: erpnext/setup/doctype/company/company.py:736
-#: erpnext/setup/doctype/company/company.py:737
+#: erpnext/setup/doctype/company/company.py:723
#: erpnext/setup/doctype/company/company.py:738
+#: erpnext/setup/doctype/company/company.py:739
+#: erpnext/setup/doctype/company/company.py:740
msgid "Main"
-msgstr "主頁"
+msgstr ""
#. Label of the main_cost_center (Link) field in DocType 'Cost Center
#. Allocation'
@@ -29195,12 +29635,12 @@ msgstr ""
#: erpnext/manufacturing/doctype/workstation/workstation.json
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:299
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:302
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/assets.json erpnext/workspace_sidebar/crm.json
msgid "Maintenance"
-msgstr "維護"
+msgstr ""
#. Label of the mntc_date (Date) field in DocType 'Maintenance Visit'
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
@@ -29215,10 +29655,11 @@ msgstr ""
#: erpnext/assets/doctype/asset_maintenance/asset_maintenance.js:50
msgid "Maintenance Log"
-msgstr "維護日誌"
+msgstr ""
#. Label of the maintenance_manager_name (Read Only) field in DocType 'Asset
#. Maintenance'
+#. Label of the maintenance_manager_name (Read Only) field in DocType 'Asset
#. Maintenance Team'
#: erpnext/assets/doctype/asset_maintenance/asset_maintenance.json
#: erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.json
@@ -29251,7 +29692,7 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/support.json
msgid "Maintenance Schedule"
-msgstr "維護計劃"
+msgstr ""
#. Name of a DocType
#. Label of the maintenance_schedule_detail (Link) field in DocType
@@ -29262,28 +29703,29 @@ msgstr "維護計劃"
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
#: erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
msgid "Maintenance Schedule Detail"
-msgstr "維護計劃細節"
+msgstr ""
#. Name of a DocType
#: erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.json
msgid "Maintenance Schedule Item"
-msgstr "維護計劃項目"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:367
msgid "Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule'"
-msgstr "維護計畫不會為全部品項生成。請點擊“生成表”"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:247
msgid "Maintenance Schedule {0} exists against {1}"
-msgstr "針對{1}存在維護計劃{0}"
+msgstr ""
#. Name of a report
#: erpnext/maintenance/report/maintenance_schedules/maintenance_schedules.json
msgid "Maintenance Schedules"
-msgstr "保養時間表"
+msgstr ""
#. Label of the maintenance_status (Select) field in DocType 'Asset Maintenance
#. Log'
+#. Label of the maintenance_status (Select) field in DocType 'Asset Maintenance
#. Task'
#. Label of the maintenance_status (Select) field in DocType 'Serial No'
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.json
@@ -29294,7 +29736,7 @@ msgstr ""
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py:59
msgid "Maintenance Status has to be Cancelled or Completed to Submit"
-msgstr "維護狀態必須取消或完成提交"
+msgstr ""
#. Label of the maintenance_task (Data) field in DocType 'Asset Maintenance
#. Task'
@@ -29316,7 +29758,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/assets/doctype/maintenance_team_member/maintenance_team_member.json
msgid "Maintenance Team Member"
-msgstr "維護團隊成員"
+msgstr ""
#. Label of the maintenance_team_members (Table) field in DocType 'Asset
#. Maintenance Team'
@@ -29358,16 +29800,16 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/support.json
msgid "Maintenance Visit"
-msgstr "維護訪問"
+msgstr ""
#. Name of a DocType
#: erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
msgid "Maintenance Visit Purpose"
-msgstr "維護訪問目的"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:349
msgid "Maintenance start date can not be before delivery date for Serial No {0}"
-msgstr "序號{0}的維護開始日期不能早於交貨日期"
+msgstr ""
#. Label of the maj_opt_subj (Text) field in DocType 'Employee Education'
#: erpnext/setup/doctype/employee_education/employee_education.json
@@ -29377,8 +29819,8 @@ msgstr ""
#. Label of the make (Data) field in DocType 'Vehicle'
#: erpnext/accounts/doctype/journal_entry/journal_entry.js:127
#: erpnext/manufacturing/doctype/job_card/job_card.js:479
-#: erpnext/manufacturing/doctype/work_order/work_order.js:851
-#: erpnext/manufacturing/doctype/work_order/work_order.js:885
+#: erpnext/manufacturing/doctype/work_order/work_order.js:855
+#: erpnext/manufacturing/doctype/work_order/work_order.js:889
#: erpnext/setup/doctype/vehicle/vehicle.json
msgid "Make"
msgstr ""
@@ -29414,7 +29856,7 @@ msgstr ""
#: erpnext/templates/pages/rfq.html:19
msgid "Make Quotation"
-msgstr "請報價"
+msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:330
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:128
@@ -29453,11 +29895,11 @@ msgstr ""
msgid "Make project from a template."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:915
+#: erpnext/stock/doctype/item/item.js:921
msgid "Make {0} Variant"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:916
+#: erpnext/stock/doctype/item/item.js:922
msgid "Make {0} Variants"
msgstr ""
@@ -29478,11 +29920,11 @@ msgstr ""
#: erpnext/utilities/activation.py:95
msgid "Manage your orders"
-msgstr "管理您的訂單"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:500
+#: erpnext/setup/doctype/company/company.py:502
msgid "Management"
-msgstr "管理"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:20
msgid "Manager"
@@ -29502,7 +29944,7 @@ msgstr ""
msgid "Mandatory Depends On (Backend)"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1929
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1935
msgid "Mandatory Field"
msgstr ""
@@ -29518,15 +29960,15 @@ msgstr ""
msgid "Mandatory For Profit and Loss Account"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:628
+#: erpnext/selling/doctype/quotation/quotation.py:643
msgid "Mandatory Missing"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:634
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:644
msgid "Mandatory Purchase Order"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:656
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:666
msgid "Mandatory Purchase Receipt"
msgstr ""
@@ -29539,6 +29981,7 @@ msgstr ""
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset'
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Depreciation Schedule'
+#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Finance Book'
#. Option for the 'How often should project be updated of Total Purchase Cost
#. ?' (Select) field in DocType 'Buying Settings'
@@ -29565,6 +30008,7 @@ msgstr ""
#. Label of the manufacture_details (Section Break) field in DocType 'Purchase
#. Invoice Item'
+#. Label of the manufacture_details (Section Break) field in DocType 'Purchase
#. Order Item'
#. Label of the manufacture_details (Section Break) field in DocType 'Supplier
#. Quotation Item'
@@ -29576,6 +30020,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Material Request'
#. Label of the manufacture_details (Section Break) field in DocType 'Material
#. Request Item'
+#. Label of the manufacture_details (Section Break) field in DocType 'Purchase
#. Receipt Item'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
@@ -29590,7 +30035,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
#: erpnext/manufacturing/doctype/operation/operation_dashboard.py:7
#: erpnext/projects/doctype/project/project_dashboard.py:17
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:89
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:92
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item/item_dashboard.py:32
#: erpnext/stock/doctype/item_reorder/item_reorder.json
@@ -29598,13 +30043,13 @@ msgstr ""
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1583
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1599
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1668
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1684
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Manufacture"
-msgstr "製造"
+msgstr ""
#. Description of the 'Material Request' (Link) field in DocType 'Work Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
@@ -29622,7 +30067,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/report/process_loss_report/process_loss_report.py:88
msgid "Manufactured Qty"
-msgstr "生產數量"
+msgstr ""
#. Label of the manufacturer (Link) field in DocType 'Purchase Invoice Item'
#. Label of the manufacturer (Link) field in DocType 'Purchase Order Item'
@@ -29635,6 +30080,7 @@ msgstr "生產數量"
#. Label of the manufacturer (Link) field in DocType 'Subcontracting Order
#. Item'
#. Label of the manufacturer (Link) field in DocType 'Subcontracting Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
@@ -29647,19 +30093,23 @@ msgstr "生產數量"
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Manufacturer"
-msgstr "生產廠家"
+msgstr ""
#. Label of the manufacturer_part_no (Data) field in DocType 'Purchase Invoice
#. Item'
#. Label of the manufacturer_part_no (Data) field in DocType 'Purchase Order
+#. Item'
#. Label of the manufacturer_part_no (Data) field in DocType 'Supplier
#. Quotation Item'
#. Label of the manufacturer_part_no (Data) field in DocType 'Item
#. Manufacturer'
#. Label of the manufacturer_part_no (Data) field in DocType 'Material Request
+#. Item'
#. Label of the manufacturer_part_no (Data) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the manufacturer_part_no (Data) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the manufacturer_part_no (Data) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -29671,7 +30121,7 @@ msgstr "生產廠家"
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Manufacturer Part Number"
-msgstr "製造商零件編號"
+msgstr ""
#: erpnext/public/js/controllers/buying.js:425
msgid "Manufacturer Part Number {0} is invalid"
@@ -29708,7 +30158,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order_dashboard.py:13
#: erpnext/workspace_sidebar/manufacturing.json
msgid "Manufacturing"
-msgstr "製造"
+msgstr ""
#. Label of the semi_fg_bom (Link) field in DocType 'Job Card'
#: erpnext/manufacturing/doctype/job_card/job_card.json
@@ -29742,11 +30192,11 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Manufacturing Manager"
-msgstr "生產經理"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2897
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2973
msgid "Manufacturing Quantity is mandatory"
-msgstr "生產數量是必填的"
+msgstr ""
#. Label of the manufacturing_section_section (Section Break) field in DocType
#. 'Sales Order Item'
@@ -29761,7 +30211,7 @@ msgstr ""
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Manufacturing Settings"
-msgstr "製造設定"
+msgstr ""
#. Title of the Module Onboarding 'Manufacturing Onboarding'
#: erpnext/manufacturing/module_onboarding/manufacturing_onboarding/manufacturing_onboarding.json
@@ -29771,6 +30221,7 @@ msgstr ""
#. Label of the manufacturing_time_in_mins (Int) field in DocType 'Item Lead
#. Time'
#. Label of the manufacturing_time_tab (Tab Break) field in DocType 'Item Lead
+#. Time'
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
msgid "Manufacturing Time"
msgstr ""
@@ -29810,7 +30261,7 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.json
#: erpnext/stock/doctype/warehouse_type/warehouse_type.json
msgid "Manufacturing User"
-msgstr "製造業用戶"
+msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:106
msgid "Mapping Subcontracting Inward Order ..."
@@ -29820,7 +30271,7 @@ msgstr ""
msgid "Mapping Subcontracting Order ..."
msgstr ""
-#: erpnext/public/js/utils.js:1084
+#: erpnext/public/js/utils.js:1110
msgid "Mapping {0} ..."
msgstr ""
@@ -29831,13 +30282,6 @@ msgstr ""
msgid "Maps To"
msgstr ""
-#. Label of the margin (Section Break) field in DocType 'Pricing Rule'
-#. Label of the margin (Section Break) field in DocType 'Project'
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
-#: erpnext/projects/doctype/project/project.json
-msgid "Margin"
-msgstr ""
-
#. Label of the margin_money (Currency) field in DocType 'Bank Guarantee'
#: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.json
msgid "Margin Money"
@@ -29849,12 +30293,17 @@ msgstr ""
#. Label of the margin_rate_or_amount (Float) field in DocType 'Purchase
#. Invoice Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Sales Invoice
+#. Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Purchase Order
+#. Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Supplier
#. Quotation Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Quotation Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Sales Order
+#. Item'
#. Label of the margin_rate_or_amount (Float) field in DocType 'Delivery Note
+#. Item'
+#. Label of the margin_rate_or_amount (Float) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
@@ -29908,6 +30357,12 @@ msgstr ""
msgid "Mark As Closed"
msgstr ""
+#. Option for the 'Action for Expired Unverified Appointments' (Select) field
+#. in DocType 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Mark as Closed"
+msgstr ""
+
#. Description of the 'Is Internal Customer' (Check) field in DocType
#. 'Customer'
#: erpnext/selling/doctype/customer/customer.json
@@ -29926,16 +30381,16 @@ msgstr ""
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/selling/doctype/customer/customer.json
msgid "Market Segment"
-msgstr "市場分類"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:452
+#: erpnext/setup/doctype/company/company.py:454
msgid "Marketing"
-msgstr "市場營銷"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:112
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:191
msgid "Marketing Expenses"
-msgstr "市場推廣開支"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:23
msgid "Marketing Specialist"
@@ -29967,7 +30422,7 @@ msgstr ""
#. Label of a Card Break in the CRM Workspace
#: erpnext/crm/workspace/crm/crm.json
msgid "Masters"
-msgstr "資料主檔"
+msgstr ""
#: banking/src/components/features/ActionLog/ActionLogDialogBody.tsx:302
msgid "Match"
@@ -30011,22 +30466,22 @@ msgstr ""
msgid "Material"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:876
+#: erpnext/manufacturing/doctype/work_order/work_order.js:880
msgid "Material Consumption"
msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:114
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:117
#: erpnext/stock/doctype/stock_entry/stock_entry.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1584
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1669
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Material Consumption for Manufacture"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:688
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:664
msgid "Material Consumption is not set in Manufacturing Settings."
-msgstr "材料消耗未在生產設置中設置。"
+msgstr ""
#. Option for the 'Type' (Select) field in DocType 'Material Request Plan Item'
#. Option for the 'Default Material Request Type' (Select) field in DocType
@@ -30037,7 +30492,7 @@ msgstr "材料消耗未在生產設置中設置。"
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:71
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:74
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item_reorder/item_reorder.json
#: erpnext/stock/doctype/material_request/material_request.json
@@ -30053,18 +30508,20 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:77
-#: erpnext/stock/doctype/material_request/material_request.js:188
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:80
+#: erpnext/stock/doctype/material_request/material_request.js:191
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Material Receipt"
-msgstr "收料"
+msgstr ""
#. Label of the material_request (Link) field in DocType 'Purchase Invoice
#. Item'
#. Label of the material_request (Link) field in DocType 'Purchase Order Item'
#. Label of the material_request (Link) field in DocType 'Request for Quotation
+#. Item'
#. Label of the material_request (Link) field in DocType 'Supplier Quotation
+#. Item'
#. Label of a Link in the Buying Workspace
#. Option for the 'Get Items From' (Select) field in DocType 'Production Plan'
#. Label of the material_request (Link) field in DocType 'Production Plan Item'
@@ -30079,9 +30536,12 @@ msgstr "收料"
#. Label of the material_request (Link) field in DocType 'Pick List'
#. Label of the material_request (Link) field in DocType 'Pick List Item'
#. Label of the material_request (Link) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the material_request (Link) field in DocType 'Stock Entry Detail'
#. Label of a Link in the Stock Workspace
#. Label of the material_request (Link) field in DocType 'Subcontracting Order
+#. Item'
+#. Label of the material_request (Link) field in DocType 'Subcontracting Order
#. Service Item'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -30101,14 +30561,15 @@ msgstr "收料"
#: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
#: erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
+#: erpnext/manufacturing/doctype/work_order/work_order.js:816
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1092
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py:36
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/material_request/material_request.json
-#: erpnext/stock/doctype/material_request/material_request.py:434
-#: erpnext/stock/doctype/material_request/material_request.py:484
+#: erpnext/stock/doctype/material_request/material_request.py:485
+#: erpnext/stock/doctype/material_request/material_request.py:545
#: erpnext/stock/doctype/pick_list/pick_list.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -30121,14 +30582,14 @@ msgstr "收料"
#: erpnext/subcontracting/doctype/subcontracting_order_service_item/subcontracting_order_service_item.json
#: erpnext/workspace_sidebar/buying.json erpnext/workspace_sidebar/stock.json
msgid "Material Request"
-msgstr "物料需求"
+msgstr ""
#. Label of the material_request_date (Date) field in DocType 'Production Plan
#. Material Request'
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:19
#: erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
msgid "Material Request Date"
-msgstr "材料申請日期"
+msgstr ""
#. Label of the material_request_detail (Section Break) field in DocType
#. 'Production Plan'
@@ -30139,19 +30600,25 @@ msgstr ""
#. Label of the material_request_item (Data) field in DocType 'Purchase Invoice
#. Item'
#. Label of the material_request_item (Data) field in DocType 'Purchase Order
+#. Item'
#. Label of the material_request_item (Data) field in DocType 'Request for
#. Quotation Item'
#. Label of the material_request_item (Data) field in DocType 'Supplier
+#. Quotation Item'
#. Label of the material_request_item (Data) field in DocType 'Work Order'
#. Label of the material_request_item (Data) field in DocType 'Sales Order
+#. Item'
#. Label of the material_request_item (Data) field in DocType 'Delivery Note
+#. Item'
#. Name of a DocType
#. Label of the material_request_item (Data) field in DocType 'Pick List Item'
#. Label of the material_request_item (Data) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the material_request_item (Link) field in DocType 'Stock Entry
#. Detail'
#. Label of the material_request_item (Data) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the material_request_item (Data) field in DocType 'Subcontracting
#. Order Service Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -30167,7 +30634,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_service_item/subcontracting_order_service_item.json
msgid "Material Request Item"
-msgstr "物料需求項目"
+msgstr ""
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:25
msgid "Material Request No"
@@ -30179,7 +30646,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
msgid "Material Request Plan Item"
-msgstr "材料申請計劃項目"
+msgstr ""
#. Label of the material_request_type (Select) field in DocType 'Item Reorder'
#: erpnext/manufacturing/notification/material_request_receipt_notification/material_request_receipt_notification.html:1
@@ -30195,9 +30662,9 @@ msgstr ""
msgid "Material Request not created, as quantity for Raw Materials already available."
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:145
+#: erpnext/stock/doctype/material_request/material_request.py:158
msgid "Material Request of maximum {0} can be made for Item {1} against Sales Order {2}"
-msgstr "針對銷售訂單{2}的項目{1},最多可以有 {0} 被完成。"
+msgstr ""
#. Description of the 'Material Request' (Link) field in DocType 'Stock Entry
#. Detail'
@@ -30207,7 +30674,7 @@ msgstr ""
#: erpnext/controllers/subcontracting_controller.py:1350
msgid "Material Request {0} is cancelled or stopped"
-msgstr "材料需求{0}被取消或停止"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1495
msgid "Material Request {0} submitted."
@@ -30227,7 +30694,7 @@ msgstr ""
msgid "Material Requests"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:452
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:453
msgid "Material Requests Required"
msgstr ""
@@ -30236,7 +30703,7 @@ msgstr ""
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/stock/report/material_requests_for_which_supplier_quotations_are_not_created/material_requests_for_which_supplier_quotations_are_not_created.json
msgid "Material Requests for which Supplier Quotations are not created"
-msgstr "尚未建立供應商報價的材料需求"
+msgstr ""
#. Label of a Link in the Manufacturing Workspace
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
@@ -30261,24 +30728,24 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
#: erpnext/manufacturing/doctype/job_card/job_card.js:224
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:83
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:86
#: erpnext/stock/doctype/item/item.json
-#: erpnext/stock/doctype/material_request/material_request.js:166
+#: erpnext/stock/doctype/material_request/material_request.js:169
#: erpnext/stock/doctype/material_request/material_request.json
#: erpnext/stock/doctype/pick_list/pick_list.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Material Transfer"
-msgstr "物料轉倉"
+msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:172
+#: erpnext/stock/doctype/material_request/material_request.js:175
msgid "Material Transfer (In Transit)"
msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Pick List'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:108
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:111
#: erpnext/stock/doctype/pick_list/pick_list.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
@@ -30319,7 +30786,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:394
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:644
msgid "Material to Supplier"
-msgstr "材料到供應商"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/subcontracting.json
@@ -30338,6 +30805,7 @@ msgstr ""
#. Label of the max_amount (Currency) field in DocType 'Bank Transaction Rule'
#. Label of the max_amount (Currency) field in DocType 'Promotional Scheme
#. Price Discount'
+#. Label of the max_amount (Currency) field in DocType 'Promotional Scheme
#. Product Discount'
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.json
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
@@ -30357,6 +30825,7 @@ msgstr ""
#. Label of the max_grade (Percent) field in DocType 'Supplier Scorecard
#. Scoring Standing'
+#. Label of the max_grade (Percent) field in DocType 'Supplier Scorecard
#. Standing'
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
#: erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
@@ -30371,6 +30840,7 @@ msgstr ""
#. Label of the max_qty (Float) field in DocType 'Promotional Scheme Price
#. Discount'
#. Label of the max_qty (Float) field in DocType 'Promotional Scheme Product
+#. Discount'
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
msgid "Max Qty"
@@ -30389,22 +30859,23 @@ msgstr ""
#. Label of the max_score (Float) field in DocType 'Supplier Scorecard
#. Criteria'
#. Label of the max_score (Float) field in DocType 'Supplier Scorecard Scoring
+#. Criteria'
#: erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.json
#: erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
msgid "Max Score"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:292
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:310
msgid "Max discount allowed for item: {0} is {1}%"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1052
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1059
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1082
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1056
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1063
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1086
#: erpnext/stock/doctype/pick_list/pick_list.js:208
#: erpnext/stock/doctype/stock_entry/stock_entry.js:404
msgid "Max: {0}"
-msgstr "最大數量:{0}"
+msgstr ""
#: banking/src/components/features/BankReconciliation/Rules/RuleForm.tsx:64
msgid "Maximum Amount"
@@ -30432,13 +30903,13 @@ msgstr ""
msgid "Maximum Producible Items"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:4428
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:4507
msgid "Maximum Samples - {0} can be retained for Batch {1} and Item {2}."
-msgstr "可以為批次{1}和項目{2}保留最大樣本數量{0}。"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:4419
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:4498
msgid "Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}."
-msgstr "批次{1}和批次{3}中的項目{2}已保留最大樣本數量{0}。"
+msgstr ""
#. Label of the maximum_use (Int) field in DocType 'Coupon Code'
#: erpnext/accounts/doctype/coupon_code/coupon_code.json
@@ -30463,7 +30934,7 @@ msgstr ""
msgid "Maximum discount for Item {0} is {1}%"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:120
+#: erpnext/public/js/utils/barcode_scanner.js:125
msgid "Maximum quantity scanned for item {0}."
msgstr ""
@@ -30497,7 +30968,7 @@ msgstr ""
msgid "Megawatt"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2034
+#: erpnext/stock/stock_ledger.py:2096
msgid "Mention Valuation Rate in the Item master."
msgstr ""
@@ -30510,11 +30981,11 @@ msgstr ""
#: erpnext/accounts/doctype/account/account.js:169
msgid "Merge"
-msgstr "合併"
+msgstr ""
#: erpnext/accounts/doctype/account/account.js:55
msgid "Merge Account"
-msgstr "合併科目"
+msgstr ""
#. Label of the merge_invoices_based_on (Select) field in DocType 'POS Invoice
#. Merge Log'
@@ -30532,20 +31003,20 @@ msgstr ""
msgid "Merge similar Account Heads"
msgstr ""
-#: erpnext/public/js/utils.js:1116
+#: erpnext/public/js/utils.js:1142
msgid "Merge taxes from multiple documents"
msgstr ""
#: erpnext/accounts/doctype/account/account.js:141
msgid "Merge with Existing Account"
-msgstr "與現有科目合併"
+msgstr ""
#. Label of the merged (Check) field in DocType 'Ledger Merge Accounts'
#: erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json
msgid "Merged"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:604
+#: erpnext/accounts/doctype/account/account.py:635
msgid "Merging is only possible if following properties are same in both records. Is Group, Root Type, Company and Account Currency"
msgstr ""
@@ -30594,7 +31065,7 @@ msgstr ""
msgid "Meter/Second"
msgstr ""
-#: erpnext/manufacturing/doctype/workstation/workstation.py:546
+#: erpnext/manufacturing/doctype/workstation/workstation.py:547
msgid "Method {0} is not allowed to be run on a Job Card."
msgstr ""
@@ -30623,8 +31094,8 @@ msgstr ""
msgid "Microsecond"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:310
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:427
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:313
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:430
msgid "Middle Income"
msgstr ""
@@ -30726,6 +31197,7 @@ msgstr ""
#. Label of the min_amount (Currency) field in DocType 'Bank Transaction Rule'
#. Label of the min_amount (Currency) field in DocType 'Promotional Scheme
#. Price Discount'
+#. Label of the min_amount (Currency) field in DocType 'Promotional Scheme
#. Product Discount'
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.json
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
@@ -30738,12 +31210,13 @@ msgstr ""
msgid "Min Amt"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:228
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:246
msgid "Min Amt can not be greater than Max Amt"
msgstr ""
#. Label of the min_grade (Percent) field in DocType 'Supplier Scorecard
#. Scoring Standing'
+#. Label of the min_grade (Percent) field in DocType 'Supplier Scorecard
#. Standing'
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
#: erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
@@ -30759,6 +31232,7 @@ msgstr ""
#. Label of the min_qty (Float) field in DocType 'Promotional Scheme Price
#. Discount'
#. Label of the min_qty (Float) field in DocType 'Promotional Scheme Product
+#. Discount'
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
msgid "Min Qty"
@@ -30769,15 +31243,15 @@ msgstr ""
msgid "Min Qty (As Per Stock UOM)"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:224
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:242
msgid "Min Qty can not be greater than Max Qty"
-msgstr "最小數量不能大於最大數量"
+msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:238
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:256
msgid "Min Qty should be greater than Recurse Over Qty"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1071
+#: erpnext/stock/doctype/item/item.js:1077
msgid "Min Value: {0}, Max Value: {1}, in Increments of: {2}"
msgstr ""
@@ -30797,7 +31271,7 @@ msgstr ""
#: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.js:20
msgid "Minimum Lead Age (Days)"
-msgstr "最低鉛年齡(天)"
+msgstr ""
#. Label of the minimum_net_rate (Float) field in DocType 'Item Tax'
#: erpnext/stock/doctype/item_tax/item_tax.json
@@ -30841,9 +31315,7 @@ msgstr ""
#. Description of the 'Minimum Order Qty' (Float) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
-msgid ""
-"Minimum quantity should be as per Stock UOM\n"
-"\n"
+msgid "Minimum quantity should be as per Stock UOM\n\n"
msgstr ""
#. Description of the 'Safety Stock' (Float) field in DocType 'Item'
@@ -30864,28 +31336,31 @@ msgid "Minutes"
msgstr ""
#. Label of the section_break_19 (Section Break) field in DocType 'POS Profile'
+#. Label of the miscellaneous_section (Section Break) field in DocType 'Repost
+#. Accounting Ledger'
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.json
msgid "Miscellaneous"
msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:116
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:224
msgid "Miscellaneous Expenses"
-msgstr "雜項開支"
+msgstr ""
-#: erpnext/controllers/buying_controller.py:778
+#: erpnext/controllers/buying_controller.py:797
msgid "Mismatch"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1335
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1338
msgid "Missing"
msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:97
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:200
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:593
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2478
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3094
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:603
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2484
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3100
#: erpnext/assets/doctype/asset_category/asset_category.py:116
msgid "Missing Account"
msgstr ""
@@ -30915,15 +31390,15 @@ msgstr ""
msgid "Missing Finance Book"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2036
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2112
msgid "Missing Finished Good"
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:314
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:359
msgid "Missing Formula"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1272
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1293
msgid "Missing Item"
msgstr ""
@@ -30931,7 +31406,7 @@ msgstr ""
msgid "Missing Parameter"
msgstr ""
-#: erpnext/utilities/__init__.py:53
+#: erpnext/utilities/__init__.py:52 erpnext/utilities/__init__.py:57
msgid "Missing Payments App"
msgstr ""
@@ -30939,24 +31414,24 @@ msgstr ""
msgid "Missing Required Filter"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:297
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:300
msgid "Missing Serial No Bundle"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:174
+#: erpnext/stock/doctype/pick_list/pick_list.py:176
msgid "Missing Warehouse"
msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:156
msgid "Missing email template for dispatch. Please set one in Delivery Settings."
-msgstr "缺少發送的電子郵件模板。請在“傳遞設置”中設置一個。"
+msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:250
msgid "Missing required filter: {0}"
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1219
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1587
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1646
msgid "Missing value"
msgstr ""
@@ -30989,7 +31464,9 @@ msgstr ""
#. Label of the mode_of_payment (Link) field in DocType 'Payment Terms Template
#. Detail'
#. Label of the mode_of_payment (Link) field in DocType 'POS Closing Entry
+#. Detail'
#. Label of the mode_of_payment (Link) field in DocType 'POS Opening Entry
+#. Detail'
#. Label of the mode_of_payment (Link) field in DocType 'POS Payment Method'
#. Label of the mode_of_payment (Link) field in DocType 'Purchase Invoice'
#. Label of the mode_of_payment (Link) field in DocType 'Sales Invoice Payment'
@@ -31028,7 +31505,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/mode_of_payment_account/mode_of_payment_account.json
msgid "Mode of Payment Account"
-msgstr "支付帳戶模式"
+msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/closing_voucher_details.html:35
msgid "Mode of Payments"
@@ -31071,9 +31548,11 @@ msgstr ""
#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Schedule'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Term'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Term'
#. Option for the 'Due Date Based On' (Select) field in DocType 'Payment Terms
#. Template Detail'
+#. Option for the 'Discount Validity Based On' (Select) field in DocType
#. 'Payment Terms Template Detail'
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/accounts/doctype/payment_term/payment_term.json
@@ -31093,12 +31572,12 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/selling.json
msgid "Monthly Distribution"
-msgstr "月度分佈"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.json
msgid "Monthly Distribution Percentage"
-msgstr "每月分配比例"
+msgstr ""
#. Label of the percentages (Table) field in DocType 'Monthly Distribution'
#: erpnext/accounts/doctype/monthly_distribution/monthly_distribution.json
@@ -31148,7 +31627,7 @@ msgstr ""
#: erpnext/stock/dashboard/item_dashboard.js:216
msgid "Move Item"
-msgstr "移動項目"
+msgstr ""
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:239
msgid "Move Stock"
@@ -31185,7 +31664,7 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Multi Currency"
-msgstr "多幣種"
+msgstr ""
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.js:42
msgid "Multi-level BOM Creator"
@@ -31201,17 +31680,17 @@ msgstr ""
msgid "Multiple Accounts (Journal Template)"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:441
+#: erpnext/selling/doctype/customer/customer.py:454
msgid "Multiple Loyalty Programs found for Customer {}. Please select manually."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1241
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1247
msgid "Multiple POS Opening Entry"
msgstr ""
#: erpnext/accounts/doctype/pricing_rule/utils.py:348
msgid "Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}"
-msgstr "海報價格規則,同樣的標準存在,請通過分配優先解決衝突。價格規則:{0}"
+msgstr ""
#. Option for the 'Loyalty Program Type' (Select) field in DocType 'Loyalty
#. Program'
@@ -31221,17 +31700,17 @@ msgstr ""
#: erpnext/stock/doctype/item/item.js:233
msgid "Multiple Variants"
-msgstr "多種變體"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:244
msgid "Multiple company fields available: {0}. Please select manually."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1333
+#: erpnext/controllers/accounts_controller.py:1338
msgid "Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year"
-msgstr "多個會計年度的日期{0}存在。請設置公司財年"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2043
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2119
msgid "Multiple items cannot be marked as finished item"
msgstr ""
@@ -31240,12 +31719,12 @@ msgid "Music"
msgstr ""
#. Label of the must_be_whole_number (Check) field in DocType 'UOM'
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1534
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1593
#: erpnext/setup/doctype/uom/uom.json
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:267
#: erpnext/utilities/transaction_base.py:631
msgid "Must be Whole Number"
-msgstr "必須是整數"
+msgstr ""
#. Description of the 'Import from Google Sheets' (Data) field in DocType 'Bank
#. Statement Import'
@@ -31276,7 +31755,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:121
msgid "Name of new Account. Note: Please don't create accounts for Customers and Suppliers"
-msgstr "新帳戶的名稱。注:請不要創建帳戶的客戶和供應商"
+msgstr ""
#. Description of the 'Distribution Name' (Data) field in DocType 'Monthly
#. Distribution'
@@ -31310,15 +31789,18 @@ msgstr ""
msgid "Naming Series Prefix"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:95
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:96
msgid "Naming Series is mandatory"
msgstr ""
#. Label of the naming_series_details (Small Text) field in DocType 'Buying
#. Settings'
#. Label of the naming_series_details (Small Text) field in DocType 'Selling
+#. Settings'
#. Label of the naming_series_details (Small Text) field in DocType 'Stock
+#. Settings'
#. Label of the naming_series_preview (Small Text) field in DocType 'Stock
+#. Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -31360,7 +31842,7 @@ msgid "Natural Gas"
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:3
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:439
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:442
msgid "Needs Analysis"
msgstr ""
@@ -31369,9 +31851,9 @@ msgstr ""
msgid "Negative Batch Report"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:631
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:633
msgid "Negative Quantity is not allowed"
-msgstr "負數量是不允許"
+msgstr ""
#. Label of the negative_stock_section (Section Break) field in DocType 'Stock
#. Settings'
@@ -31379,19 +31861,19 @@ msgstr "負數量是不允許"
msgid "Negative Stock"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1658
-#: erpnext/stock/serial_batch_bundle.py:1548
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1724
+#: erpnext/stock/serial_batch_bundle.py:1634
msgid "Negative Stock Error"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:636
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:638
msgid "Negative Valuation Rate is not allowed"
-msgstr "負面評價率是不允許的"
+msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:8
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:444
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:447
msgid "Negotiation/Review"
-msgstr "談判/評論"
+msgstr ""
#. Label of the net_amount (Currency) field in DocType 'Advance Taxes and
#. Charges'
@@ -31399,8 +31881,10 @@ msgstr "談判/評論"
#. Label of the net_amount (Currency) field in DocType 'POS Invoice Item'
#. Label of the net_amount (Currency) field in DocType 'Purchase Invoice Item'
#. Label of the net_amount (Currency) field in DocType 'Purchase Taxes and
+#. Charges'
#. Label of the net_amount (Currency) field in DocType 'Sales Invoice Item'
#. Label of the net_amount (Currency) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the net_amount (Currency) field in DocType 'Purchase Order Item'
#. Label of the net_amount (Currency) field in DocType 'Supplier Quotation
#. Item'
@@ -31430,14 +31914,21 @@ msgstr ""
#. Label of the base_net_amount (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the base_net_amount (Currency) field in DocType 'Purchase Taxes and
+#. Charges'
#. Label of the base_net_amount (Currency) field in DocType 'Sales Invoice
+#. Item'
#. Label of the base_net_amount (Currency) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the base_net_amount (Currency) field in DocType 'Purchase Order
+#. Item'
#. Label of the base_net_amount (Currency) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the base_net_amount (Currency) field in DocType 'Quotation Item'
#. Label of the base_net_amount (Currency) field in DocType 'Sales Order Item'
#. Label of the base_net_amount (Currency) field in DocType 'Delivery Note
+#. Item'
#. Label of the base_net_amount (Currency) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -31456,44 +31947,44 @@ msgstr ""
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:906
#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:912
msgid "Net Asset value as on"
-msgstr "淨資產值作為"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:185
+#: erpnext/accounts/report/cash_flow/cash_flow.py:186
msgid "Net Cash from Financing"
-msgstr "從融資淨現金"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:178
+#: erpnext/accounts/report/cash_flow/cash_flow.py:179
msgid "Net Cash from Investing"
-msgstr "從投資淨現金"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:166
+#: erpnext/accounts/report/cash_flow/cash_flow.py:167
msgid "Net Cash from Operations"
-msgstr "從運營的淨現金"
-
-#: erpnext/accounts/report/cash_flow/cash_flow.py:171
-msgid "Net Change in Accounts Payable"
-msgstr "應付帳款淨額變化"
-
-#: erpnext/accounts/report/cash_flow/cash_flow.py:170
-msgid "Net Change in Accounts Receivable"
-msgstr "應收帳款淨額變化"
-
-#: erpnext/accounts/report/cash_flow/cash_flow.py:137
-#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:257
-msgid "Net Change in Cash"
-msgstr "現金淨變動"
-
-#: erpnext/accounts/report/cash_flow/cash_flow.py:187
-msgid "Net Change in Equity"
-msgstr "在淨資產收益變化"
-
-#: erpnext/accounts/report/cash_flow/cash_flow.py:180
-msgid "Net Change in Fixed Asset"
-msgstr "在固定資產淨變動"
+msgstr ""
#: erpnext/accounts/report/cash_flow/cash_flow.py:172
+msgid "Net Change in Accounts Payable"
+msgstr ""
+
+#: erpnext/accounts/report/cash_flow/cash_flow.py:171
+msgid "Net Change in Accounts Receivable"
+msgstr ""
+
+#: erpnext/accounts/report/cash_flow/cash_flow.py:138
+#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:257
+msgid "Net Change in Cash"
+msgstr ""
+
+#: erpnext/accounts/report/cash_flow/cash_flow.py:188
+msgid "Net Change in Equity"
+msgstr ""
+
+#: erpnext/accounts/report/cash_flow/cash_flow.py:181
+msgid "Net Change in Fixed Asset"
+msgstr ""
+
+#: erpnext/accounts/report/cash_flow/cash_flow.py:173
msgid "Net Change in Inventory"
-msgstr "在庫存淨變動"
+msgstr ""
#. Label of the hour_rate (Currency) field in DocType 'Workstation'
#. Label of the hour_rate (Currency) field in DocType 'Workstation Type'
@@ -31504,7 +31995,7 @@ msgstr ""
#: erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py:214
#: erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py:215
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:121
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:129
msgid "Net Profit"
msgstr ""
@@ -31512,7 +32003,7 @@ msgstr ""
msgid "Net Profit Ratio"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:186
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:194
msgid "Net Profit/Loss"
msgstr ""
@@ -31565,10 +32056,12 @@ msgstr ""
#. Label of the base_net_rate (Currency) field in DocType 'Sales Invoice Item'
#. Label of the base_net_rate (Currency) field in DocType 'Purchase Order Item'
#. Label of the base_net_rate (Currency) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the base_net_rate (Currency) field in DocType 'Quotation Item'
#. Label of the base_net_rate (Currency) field in DocType 'Sales Order Item'
#. Label of the base_net_rate (Currency) field in DocType 'Delivery Note Item'
#. Label of the base_net_rate (Currency) field in DocType 'Purchase Receipt
+#. 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
@@ -31591,23 +32084,31 @@ msgstr ""
#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Purchase Invoice'
#. Label of the net_total (Currency) field in DocType 'Sales Invoice'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Sales Invoice'
#. Option for the 'Calculate Based On' (Select) field in DocType 'Shipping
#. Rule'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Subscription'
#. Option for the 'Deduct Tax On Basis' (Select) field in DocType 'Tax
#. Withholding Category'
#. Label of the net_total (Currency) field in DocType 'Purchase Order'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Purchase Order'
#. Label of the net_total (Currency) field in DocType 'Supplier Quotation'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Supplier Quotation'
#. Label of the net_total (Currency) field in DocType 'Quotation'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Quotation'
#. Label of the net_total (Currency) field in DocType 'Sales Order'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Sales Order'
#. Label of the net_total (Currency) field in DocType 'Delivery Note'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Delivery Note'
#. Label of the net_total (Currency) field in DocType 'Purchase Receipt'
+#. Option for the 'Apply Additional Discount On' (Select) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/pos_closing_entry/closing_voucher_details.html:19
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
@@ -31633,7 +32134,7 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/templates/includes/order/order_taxes.html:5
msgid "Net Total"
-msgstr "總淨值"
+msgstr ""
#. Label of the base_net_total (Currency) field in DocType 'POS Invoice'
#. Label of the base_net_total (Currency) field in DocType 'Purchase Invoice'
@@ -31671,13 +32172,13 @@ msgstr ""
msgid "Net Weight UOM"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1693
+#: erpnext/controllers/accounts_controller.py:1698
msgid "Net total calculation precision loss"
msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:119
msgid "New Account Name"
-msgstr "新帳號名稱"
+msgstr ""
#. Label of the new_asset_value (Currency) field in DocType 'Asset Value
#. Adjustment'
@@ -31685,17 +32186,13 @@ msgstr "新帳號名稱"
msgid "New Asset Value"
msgstr ""
-#: erpnext/assets/dashboard_fixtures.py:169
-msgid "New Assets (This Year)"
-msgstr ""
-
#. Label of the new_bom (Link) field in DocType 'BOM Update Log'
#. Label of the new_bom (Link) field in DocType 'BOM Update Tool'
#: erpnext/manufacturing/doctype/bom/bom_tree.js:62
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.json
#: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.json
msgid "New BOM"
-msgstr "新的物料清單"
+msgstr ""
#. Label of the new_balance_in_account_currency (Currency) field in DocType
#. 'Exchange Rate Revaluation Account'
@@ -31711,7 +32208,7 @@ msgstr ""
#: erpnext/stock/doctype/batch/batch.js:169
msgid "New Batch ID (Optional)"
-msgstr "新批號(可選)"
+msgstr ""
#: erpnext/stock/doctype/batch/batch.js:163
msgid "New Batch Qty"
@@ -31721,27 +32218,27 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:18
#: erpnext/setup/doctype/company/company_tree.js:23
msgid "New Company"
-msgstr "新公司"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:26
msgid "New Cost Center Name"
-msgstr "新的成本中心名稱"
+msgstr ""
#: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py:30
msgid "New Customer Revenue"
-msgstr "新客戶收入"
+msgstr ""
#: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py:15
msgid "New Customers"
-msgstr "新客戶"
+msgstr ""
#: erpnext/setup/doctype/department/department_tree.js:18
msgid "New Department"
-msgstr "新部門"
+msgstr ""
#: erpnext/setup/doctype/employee/employee_tree.js:29
msgid "New Employee"
-msgstr "新員工"
+msgstr ""
#. Label of the new_exchange_rate (Float) field in DocType 'Exchange Rate
#. Revaluation Account'
@@ -31817,6 +32314,12 @@ msgstr ""
msgid "New Sales Invoice"
msgstr ""
+#. Description of the 'Overdue Limit' (Currency) field in DocType 'Customer
+#. Credit Limit'
+#: erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
+msgid "New Sales Invoices are blocked when the customer's overdue amount exceeds this. Requires 'Restrict Customer Over Billing' in Accounts Settings."
+msgstr ""
+
#. Label of the sales_order (Check) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
msgid "New Sales Orders"
@@ -31824,11 +32327,11 @@ msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person_tree.js:3
msgid "New Sales Person Name"
-msgstr "新銷售人員的姓名"
+msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.py:70
msgid "New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt"
-msgstr "新的序列號不能有倉庫。倉庫必須由存貨分錄或採購入庫單進行設定"
+msgstr ""
#: erpnext/public/js/templates/crm_activities.html:8
#: erpnext/public/js/utils/crm_activities.js:69
@@ -31841,16 +32344,16 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse_tree.js:16
msgid "New Warehouse Name"
-msgstr "新倉庫名稱"
+msgstr ""
#. Label of the new_workplace (Data) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
msgid "New Workplace"
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:406
+#: erpnext/selling/doctype/customer/customer.py:419
msgid "New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0}"
-msgstr "新的信用額度小於當前餘額為客戶著想。信用額度是ATLEAST {0}"
+msgstr ""
#. Description of the 'Generate New Invoices Past Due Date' (Check) field in
#. DocType 'Subscription'
@@ -31858,7 +32361,7 @@ msgstr "新的信用額度小於當前餘額為客戶著想。信用額度是ATL
msgid "New invoices will be generated as per schedule even if current invoices are unpaid or past due date"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:261
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:259
msgid "New release date should be in the future"
msgstr ""
@@ -31868,7 +32371,7 @@ msgstr ""
#: erpnext/templates/pages/projects.html:37
msgid "New task"
-msgstr "新任務"
+msgstr ""
#: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py:254
msgid "New {0} pricing rules are created"
@@ -31915,7 +32418,7 @@ msgstr ""
msgid "No Answer"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2583
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2589
msgid "No Customer found for Inter Company Transactions which represents company {0}"
msgstr ""
@@ -31926,7 +32429,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:146
msgid "No Delivery Note selected for Customer {}"
-msgstr "沒有為客戶{}選擇送貨單"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:767
msgid "No DocTypes in To Delete list. Please generate or import the list before submitting."
@@ -31938,11 +32441,11 @@ msgstr ""
#: erpnext/stock/get_item_details.py:322
msgid "No Item with Barcode {0}"
-msgstr "沒有條碼{0}的品項"
+msgstr ""
#: erpnext/stock/get_item_details.py:326
msgid "No Item with Serial No {0}"
-msgstr "沒有序號{0}的品項"
+msgstr ""
#: erpnext/controllers/subcontracting_controller.py:1501
msgid "No Items selected for transfer."
@@ -31976,14 +32479,14 @@ msgstr ""
msgid "No POS Profile found. Please create a New POS Profile first"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1582
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1642
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1656
-#: erpnext/stock/doctype/item/item.py:1495
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1593
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1653
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1667
+#: erpnext/stock/doctype/item/item.py:1505
msgid "No Permission"
-msgstr "無權限"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:793
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:794
msgid "No Purchase Orders were created"
msgstr ""
@@ -31996,7 +32499,7 @@ msgstr ""
msgid "No Selection"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:975
+#: erpnext/controllers/sales_and_purchase_return.py:993
msgid "No Serial / Batches are available for return"
msgstr ""
@@ -32008,7 +32511,7 @@ msgstr ""
msgid "No Summary"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2567
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2573
msgid "No Supplier found for Inter Company Transactions which represents company {0}"
msgstr ""
@@ -32024,7 +32527,7 @@ msgstr ""
msgid "No Tax withholding account set for Company {0} in Tax Withholding Category {1}."
msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:996
+#: erpnext/accounts/report/gross_profit/gross_profit.py:998
msgid "No Terms"
msgstr ""
@@ -32036,15 +32539,19 @@ msgstr ""
msgid "No Unreconciled Payments found for this party"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:790
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:791
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:250
msgid "No Work Orders were created"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:832
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:296
+msgid "No account set"
+msgstr ""
+
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:822
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:905
msgid "No accounting entries for the following warehouses"
-msgstr "沒有以下的倉庫會計分錄"
+msgstr ""
#: banking/src/components/features/BankReconciliation/Rules/RuleForm.tsx:413
msgid "No accounts configured"
@@ -32066,7 +32573,11 @@ msgstr ""
msgid "No additional fields available"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1361
+#: erpnext/crm/doctype/appointment/appointment.py:103
+msgid "No availability of slots are found. Please add on Appointment Booking Settings."
+msgstr ""
+
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1367
msgid "No available quantity to reserve for item {0} in warehouse {1}"
msgstr ""
@@ -32086,17 +32597,17 @@ msgstr ""
msgid "No billing email found for customer: {0}"
msgstr ""
-#: banking/src/components/features/BankReconciliation/CompanySelector.tsx:66
+#: banking/src/components/features/BankReconciliation/CompanySelector.tsx:79
msgid "No company found."
msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:452
msgid "No contacts with email IDs found."
-msgstr "找不到與電子郵件ID的聯繫人。"
+msgstr ""
#: erpnext/selling/page/sales_funnel/sales_funnel.js:137
msgid "No data for this period"
-msgstr "此期間沒有數據"
+msgstr ""
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:46
msgid "No data found. Seems like you uploaded a blank file"
@@ -32139,12 +32650,12 @@ msgstr ""
msgid "No item available for transfer."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:161
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:162
msgid "No items are available in sales orders {0} for production"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:158
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:170
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:159
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:171
msgid "No items are available in the sales order {0} for production"
msgstr ""
@@ -32160,9 +32671,9 @@ msgstr ""
msgid "No matches occurred via auto reconciliation"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1039
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1040
msgid "No material request created"
-msgstr "沒有創建重要請求"
+msgstr ""
#: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py:199
msgid "No more children on Left"
@@ -32191,7 +32702,7 @@ msgstr ""
#: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:61
msgid "No of Interactions"
-msgstr "沒有相互作用"
+msgstr ""
#. Label of the total_reposting_count (Int) field in DocType 'Repost Item
#. Valuation'
@@ -32222,7 +32733,7 @@ msgstr ""
#: erpnext/accounts/report/share_balance/share_balance.py:59
#: erpnext/accounts/report/share_ledger/share_ledger.py:55
msgid "No of Shares"
-msgstr "股份數目"
+msgstr ""
#. Label of the no_of_shift (Int) field in DocType 'Item Lead Time'
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
@@ -32248,7 +32759,7 @@ msgstr ""
msgid "No open Material Requests found for the given criteria."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1235
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1241
msgid "No open POS Opening Entry found for POS Profile {0}."
msgstr ""
@@ -32260,11 +32771,11 @@ msgstr ""
msgid "No open task"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:330
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:355
msgid "No outstanding invoices found"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:328
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:353
msgid "No outstanding invoices require exchange rate revaluation"
msgstr ""
@@ -32278,7 +32789,7 @@ msgstr ""
#: erpnext/public/js/controllers/buying.js:535
msgid "No pending Material Requests found to link for the given items."
-msgstr "找不到針對給定項目鏈接的待處理物料請求。"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:504
msgid "No primary email found for customer: {0}"
@@ -32286,7 +32797,7 @@ msgstr ""
#: erpnext/templates/includes/product_list.js:41
msgid "No products found."
-msgstr "找不到產品。"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:1029
msgid "No recent transactions found"
@@ -32304,17 +32815,17 @@ msgstr ""
#: erpnext/accounts/report/sales_register/sales_register.py:46
#: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:18
msgid "No record found"
-msgstr "沒有資料"
+msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:743
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:774
msgid "No records found in Allocation table"
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:620
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:651
msgid "No records found in the Invoices table"
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:623
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:654
msgid "No records found in the Payments table"
msgstr ""
@@ -32343,7 +32854,7 @@ msgstr ""
msgid "No stock available for this batch."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:813
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:815
msgid "No stock ledger entries were created. Please set the quantity or valuation rate for the items properly and try again."
msgstr ""
@@ -32380,9 +32891,9 @@ msgstr ""
msgid "No vouchers found for this transaction"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2631
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2637
msgid "No {0} found for Inter Company Transactions."
-msgstr "Inter公司沒有找到{0}。"
+msgstr ""
#. Label of the no_of_employees (Select) field in DocType 'Prospect'
#: erpnext/crm/doctype/prospect/prospect.json
@@ -32413,9 +32924,9 @@ msgstr ""
msgid "Non Depreciable Category"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:184
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:187
msgid "Non Profit"
-msgstr "非營利"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1635
msgid "Non stock items"
@@ -32435,9 +32946,9 @@ msgstr ""
msgid "Non-phantom BOM cannot be created for non-stock item {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:562
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:564
msgid "None of the items have any change in quantity or value."
-msgstr "沒有一個項目無論在數量或價值的任何變化。"
+msgstr ""
#. Label of the section_normal_balances (Tab Break) field in DocType 'Process
#. Period Closing Voucher'
@@ -32449,7 +32960,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/uom_data.json erpnext/stock/utils.py:693
#: erpnext/stock/utils.py:695
msgid "Nos"
-msgstr "NOS"
+msgstr ""
#. Label of the not_applicable (Check) field in DocType 'Item Tax Template
#. Detail'
@@ -32519,15 +33030,15 @@ msgstr ""
#: erpnext/stock/doctype/material_request/material_request.json
#: erpnext/stock/doctype/material_request/material_request_list.js:9
msgid "Not Started"
-msgstr "未啟動"
+msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:425
+#: erpnext/accounts/report/cash_flow/cash_flow.py:426
msgid "Not able to find the earliest Fiscal Year for the given company."
msgstr ""
#: erpnext/stock/doctype/item_alternative/item_alternative.py:33
msgid "Not allow to set alternative item for the item {0}"
-msgstr "不允許為項目{0}設置替代項目"
+msgstr ""
#: erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py:60
msgid "Not allowed to create accounting dimension for {0}"
@@ -32535,7 +33046,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:269
msgid "Not allowed to update stock transactions older than {0}"
-msgstr "不允許更新比{0}舊的庫存交易"
+msgstr ""
#: erpnext/setup/doctype/authorization_control/authorization_control.py:59
msgid "Not authorized since {0} exceeds limits"
@@ -32543,7 +33054,7 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:430
msgid "Not authorized to edit frozen Account {0}"
-msgstr "無權修改凍結帳戶{0}"
+msgstr ""
#: erpnext/templates/form_grid/stock_entry_grid.html:26
msgid "Not in Stock"
@@ -32557,11 +33068,15 @@ msgstr ""
msgid "Not permitted to make Purchase Orders"
msgstr ""
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:94
+msgid "Not permitted to update Serial No"
+msgstr ""
+
#: 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"
msgstr ""
-#: erpnext/accounts/party.py:705
+#: erpnext/accounts/party.py:721
msgid "Note: Due Date exceeds allowed {0} credit days by {1} day(s)"
msgstr ""
@@ -32579,13 +33094,13 @@ msgstr ""
msgid "Note: Item {0} added multiple times"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:731
+#: erpnext/controllers/accounts_controller.py:736
msgid "Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified"
-msgstr "注:付款項將不會被創建因為“現金或銀行科目”未指定"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.js:30
msgid "Note: This Cost Center is a Group. Cannot make accounting entries against groups."
-msgstr "注:該成本中心是一個集團。不能讓反對團體的會計分錄。"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:678
msgid "Note: To merge the items, create a separate Stock Reconciliation for the old item {0}"
@@ -32615,7 +33130,7 @@ msgstr ""
#: erpnext/stock/doctype/manufacturer/manufacturer.json
#: erpnext/www/book_appointment/index.html:55
msgid "Notes"
-msgstr "筆記"
+msgstr ""
#. Label of the notes_html (HTML) field in DocType 'Lead'
#. Label of the notes_html (HTML) field in DocType 'Opportunity'
@@ -32637,7 +33152,7 @@ msgstr ""
#: erpnext/templates/includes/product_list.js:45
msgid "Nothing more to show."
-msgstr "沒有更多的表現。"
+msgstr ""
#. Label of the notice_number_of_days (Int) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -32646,7 +33161,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:47
msgid "Notify Customers via Email"
-msgstr "通過電子郵件通知客戶"
+msgstr ""
#. Label of the notify_employee (Check) field in DocType 'Supplier Scorecard'
#. Label of the notify_employee (Check) field in DocType 'Supplier Scorecard
@@ -32671,6 +33186,7 @@ msgstr ""
#. Label of the notify_supplier (Check) field in DocType 'Supplier Scorecard'
#. Label of the notify_supplier (Check) field in DocType 'Supplier Scorecard
#. Scoring Standing'
+#. Label of the notify_supplier (Check) field in DocType 'Supplier Scorecard
#. Standing'
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
@@ -32708,11 +33224,11 @@ msgstr ""
#: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.js:14
msgid "Number of Interaction"
-msgstr "交互次數"
+msgstr ""
#: erpnext/selling/report/inactive_customers/inactive_customers.py:102
msgid "Number of Order"
-msgstr "訂購數量"
+msgstr ""
#. Label of the number_of_transactions (Int) field in DocType 'Bank Statement
#. Import Log'
@@ -32763,11 +33279,11 @@ msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:129
msgid "Number of new Account, it will be included in the account name as a prefix"
-msgstr "新帳號的數量,將作為前綴包含在帳號名稱中"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:39
msgid "Number of new Cost Center, it will be included in the cost center name as a prefix"
-msgstr "新成本中心的數量,它將作為前綴包含在成本中心名稱中"
+msgstr ""
#. Description of the 'Supplier Numbers' (Table) field in DocType 'Customer'
#: erpnext/selling/doctype/customer/customer.json
@@ -32841,12 +33357,12 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:120
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:196
msgid "Office Maintenance Expenses"
-msgstr "Office維護費用"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:121
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:200
msgid "Office Rent"
-msgstr "辦公室租金"
+msgstr ""
#. Label of the offsetting_account (Link) field in DocType 'Accounting
#. Dimension Detail'
@@ -32941,10 +33457,16 @@ msgstr ""
msgid "On enabling this cancellation entries will be posted on the actual cancellation date and reports will consider cancelled entries as well"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:727
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:725
msgid "On expanding a row in the Items to Manufacture table, you'll see an option to 'Include Exploded Items'. Ticking this includes raw materials of the sub-assembly items in the production process."
msgstr ""
+#. Option for the 'Status' (Select) field in DocType 'Project'
+#: erpnext/projects/doctype/project/project.json
+#: erpnext/projects/doctype/project/project_list.js:8
+msgid "On hold"
+msgstr ""
+
#. Description of the 'Excluded Fee' (Currency) field in DocType 'Bank
#. Transaction'
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.json
@@ -32996,6 +33518,7 @@ msgstr ""
#. Description of the 'Default Advance Account' (Link) field in DocType
#. 'Payment Reconciliation'
+#. Description of the 'Default Advance Account' (Link) field in DocType
#. 'Process Payment Reconciliation'
#. Description of the 'Default Advance Received Account' (Link) field in
#. DocType 'Company'
@@ -33030,7 +33553,7 @@ msgstr ""
msgid "Only Include Allocated Payments"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:136
+#: erpnext/accounts/doctype/account/account.py:137
msgid "Only Parent can be of type {0}"
msgstr ""
@@ -33071,7 +33594,7 @@ msgstr ""
msgid "Only one operation can have 'Is Final Finished Good' checked when 'Track Semi Finished Goods' is enabled."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1598
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1683
msgid "Only one {0} entry can be created against the Work Order {1}"
msgstr ""
@@ -33093,8 +33616,7 @@ msgstr ""
#. Description of the 'Rounding Loss Allowance' (Float) field in DocType
#. 'Exchange Rate Revaluation'
#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.json
-msgid ""
-"Only values between [0,1) are allowed. Like {0.00, 0.04, 0.09, ...}\n"
+msgid "Only values between [0,1) are allowed. Like {0.00, 0.04, 0.09, ...}\n"
"Ex: If allowance is set at 0.07, accounts that have balance of 0.07 in either of the currencies will be considered as zero balance account"
msgstr ""
@@ -33160,7 +33682,7 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.json
#: erpnext/setup/doctype/email_digest/templates/default.html:154
msgid "Open Notifications"
-msgstr "打開通知"
+msgstr ""
#. Label of the open_orders_section (Section Break) field in DocType 'Master
#. Production Schedule'
@@ -33173,7 +33695,7 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/setup/doctype/email_digest/email_digest.json
msgid "Open Projects"
-msgstr "打開項目"
+msgstr ""
#: erpnext/setup/doctype/email_digest/templates/default.html:70
msgid "Open Projects "
@@ -33215,11 +33737,11 @@ msgstr ""
#: erpnext/manufacturing/report/open_work_orders/open_work_orders.json
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
msgid "Open Work Orders"
-msgstr "打開工作訂單"
+msgstr ""
#: erpnext/templates/pages/help.html:60
msgid "Open a new ticket"
-msgstr "打開一張新票"
+msgstr ""
#: banking/src/components/features/Settings/KeyboardShortcuts.tsx:63
msgid "Open the settings dialog"
@@ -33232,7 +33754,7 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:403
#: erpnext/public/js/stock_analytics.js:97
msgid "Opening"
-msgstr "開盤"
+msgstr ""
#. Group in POS Profile's connections
#. Label of a Workspace Sidebar Item
@@ -33245,16 +33767,17 @@ msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:516
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:198
msgid "Opening (Cr)"
-msgstr "開啟(Cr )"
+msgstr ""
#: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:410
#: erpnext/accounts/report/trial_balance/trial_balance.py:509
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:191
msgid "Opening (Dr)"
-msgstr "開啟(Dr)"
+msgstr ""
#. Label of the opening_accumulated_depreciation (Currency) field in DocType
#. 'Asset'
+#. Label of the opening_accumulated_depreciation (Currency) field in DocType
#. 'Asset Depreciation Schedule'
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:166
#: erpnext/assets/doctype/asset/asset.json
@@ -33262,11 +33785,12 @@ msgstr "開啟(Dr)"
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:446
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:514
msgid "Opening Accumulated Depreciation"
-msgstr "打開累計折舊"
+msgstr ""
#. Label of the opening_amount (Currency) field in DocType 'POS Closing Entry
#. Detail'
#. Label of the opening_amount (Currency) field in DocType 'POS Opening Entry
+#. Detail'
#: erpnext/accounts/doctype/pos_closing_entry_detail/pos_closing_entry_detail.json
#: erpnext/accounts/doctype/pos_opening_entry_detail/pos_opening_entry_detail.json
#: erpnext/selling/page/point_of_sale/pos_controller.js:41
@@ -33296,7 +33820,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:192
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:343
msgid "Opening Balance Equity"
-msgstr "期初餘額權益"
+msgstr ""
#. Label of the z_opening_balances (Table) field in DocType 'Process Period
#. Closing Voucher'
@@ -33319,7 +33843,7 @@ msgstr ""
msgid "Opening Entry"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:316
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:326
msgid "Opening Invoice Creation In Progress"
msgstr ""
@@ -33331,24 +33855,24 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/setup/workspace/home/home.json
msgid "Opening Invoice Creation Tool"
-msgstr "打開發票創建工具"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json
msgid "Opening Invoice Creation Tool Item"
-msgstr "打開發票創建工具項目"
+msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:106
msgid "Opening Invoice Item"
-msgstr "打開發票項目"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Opening Invoice Tool"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1686
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2038
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1722
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2044
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 ""
@@ -33356,29 +33880,30 @@ msgstr ""
msgid "Opening Invoices"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:139
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:146
msgid "Opening Invoices Summary"
-msgstr "打開發票摘要"
+msgstr ""
#. Label of the opening_number_of_booked_depreciations (Int) field in DocType
#. 'Asset'
+#. Label of the opening_number_of_booked_depreciations (Int) field in DocType
#. 'Asset Depreciation Schedule'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
msgid "Opening Number of Booked Depreciations"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:35
-msgid "Opening Purchase Invoices have been created."
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:36
+msgid "Opening Purchase Invoice(s) have been created."
msgstr ""
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:81
#: erpnext/stock/report/stock_balance/stock_balance.py:529
msgid "Opening Qty"
-msgstr "開放數量"
+msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:33
-msgid "Opening Sales Invoices have been created."
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:35
+msgid "Opening Sales Invoice(s) have been created."
msgstr ""
#. Label of the opening_stock (Float) field in DocType 'Item'
@@ -33386,7 +33911,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.json erpnext/stock/doctype/item/item.py:335
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
msgid "Opening Stock"
-msgstr "打開庫存"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:340
msgid "Opening Stock entry created with zero valuation rate: {0}"
@@ -33403,7 +33928,7 @@ msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.py:536
msgid "Opening Value"
-msgstr "開度值"
+msgstr ""
#. Label of a Card Break in the Invoicing Workspace
#: erpnext/accounts/workspace/invoicing/invoicing.json
@@ -33433,7 +33958,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/workstation_cost/workstation_cost.json
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:124
msgid "Operating Cost"
-msgstr "營業成本"
+msgstr ""
#. Label of the base_operating_cost (Currency) field in DocType 'BOM'
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -33462,6 +33987,7 @@ msgstr ""
#. Label of the section_break_auzm (Section Break) field in DocType
#. 'Workstation'
+#. Label of the section_break_auzm (Section Break) field in DocType
#. 'Workstation Type'
#: erpnext/manufacturing/doctype/workstation/workstation.json
#: erpnext/manufacturing/doctype/workstation_type/workstation_type.json
@@ -33521,9 +34047,9 @@ msgstr ""
msgid "Operation Time"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1596
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1655
msgid "Operation Time must be greater than 0 for Operation {0}"
-msgstr "運行時間必須大於0的操作{0}"
+msgstr ""
#. Description of the 'Completed Qty' (Float) field in DocType 'Work Order
#. Operation'
@@ -33540,13 +34066,13 @@ msgstr ""
msgid "Operation {0} added multiple times in the work order {1}"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1285
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1298
msgid "Operation {0} does not belong to the work order {1}"
msgstr ""
-#: erpnext/manufacturing/doctype/workstation/workstation.py:443
+#: erpnext/manufacturing/doctype/workstation/workstation.py:444
msgid "Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations"
-msgstr "操作{0}比任何可用的工作時間更長工作站{1},分解成運行多個操作"
+msgstr ""
#. Label of the operations (Table) field in DocType 'BOM'
#. Label of the operations_section_section (Section Break) field in DocType
@@ -33558,11 +34084,11 @@ msgstr "操作{0}比任何可用的工作時間更長工作站{1},分解成運
#: erpnext/manufacturing/doctype/bom/bom.json
#: erpnext/manufacturing/doctype/work_order/work_order.js:325
#: erpnext/manufacturing/doctype/work_order/work_order.json
-#: erpnext/setup/doctype/company/company.py:470
+#: erpnext/setup/doctype/company/company.py:472
#: erpnext/setup/doctype/email_digest/email_digest.json
#: erpnext/templates/generators/bom.html:61
msgid "Operations"
-msgstr "操作"
+msgstr ""
#. Label of the section_break_xvld (Section Break) field in DocType 'BOM
#. Creator'
@@ -33583,7 +34109,7 @@ msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:21
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:27
msgid "Opp Count"
-msgstr "Opp Count"
+msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:25
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:31
@@ -33595,7 +34121,7 @@ msgstr ""
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/selling/page/sales_funnel/sales_funnel.py:56
msgid "Opportunities"
-msgstr "機會"
+msgstr ""
#: erpnext/selling/page/sales_funnel/sales_funnel.js:52
msgid "Opportunities by Campaign"
@@ -33635,13 +34161,13 @@ msgstr ""
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/workspace_sidebar/crm.json
msgid "Opportunity"
-msgstr "機會"
+msgstr ""
#. Label of the opportunity_amount (Currency) field in DocType 'Opportunity'
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/selling/report/territory_wise_sales/territory_wise_sales.py:29
msgid "Opportunity Amount"
-msgstr "機會金額"
+msgstr ""
#. Label of the base_opportunity_amount (Currency) field in DocType
#. 'Opportunity'
@@ -33659,14 +34185,14 @@ msgstr ""
#: erpnext/crm/report/lost_opportunity/lost_opportunity.js:42
#: erpnext/crm/report/lost_opportunity/lost_opportunity.py:30
msgid "Opportunity From"
-msgstr "機會從"
+msgstr ""
#. Name of a DocType
#. Label of the enq_det (Text) field in DocType 'Quotation'
#: erpnext/crm/doctype/opportunity_item/opportunity_item.json
#: erpnext/selling/doctype/quotation/quotation.json
msgid "Opportunity Item"
-msgstr "項目的機會"
+msgstr ""
#. Label of the lost_reason (Link) field in DocType 'Lost Reason Detail'
#. Name of a DocType
@@ -33715,7 +34241,7 @@ msgstr ""
#: erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py:48
#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.js:64
msgid "Opportunity Type"
-msgstr "機會型"
+msgstr ""
#. Label of the section_break_14 (Section Break) field in DocType 'Opportunity'
#: erpnext/crm/doctype/opportunity/opportunity.json
@@ -33731,17 +34257,17 @@ msgstr ""
msgid "Optimize Route"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1029
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1033
msgid "Optional. Select a specific manufacture entry to reverse."
msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:178
msgid "Optional. Sets company's default currency, if not specified."
-msgstr "可選。設置公司的默認貨幣,如果沒有指定。"
+msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:157
msgid "Optional. This setting will be used to filter in various transactions."
-msgstr "可選。此設置將被應用於過濾各種交易進行。"
+msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:165
msgid "Optional. Used with Financial Report Template"
@@ -33769,7 +34295,7 @@ msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:23
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:29
msgid "Order Count"
-msgstr "訂單數量"
+msgstr ""
#. Label of the order_date (Date) field in DocType 'Blanket Order'
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
@@ -33798,7 +34324,9 @@ msgstr ""
#. Order'
#. Label of the order_status_section (Section Break) field in DocType
#. 'Subcontracting Inward Order'
+#. Label of the order_status_section (Section Break) field in DocType
#. 'Subcontracting Order'
+#. Label of the order_status_section (Section Break) field in DocType
#. 'Subcontracting Receipt'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json
@@ -33821,12 +34349,12 @@ msgstr ""
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Order Type"
-msgstr "訂單類型"
+msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:24
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:30
msgid "Order Value"
-msgstr "訂單價值"
+msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:27
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:33
@@ -33841,7 +34369,7 @@ msgstr ""
#: erpnext/stock/doctype/material_request/material_request.json
#: erpnext/stock/doctype/material_request/material_request_list.js:40
msgid "Ordered"
-msgstr "已訂購"
+msgstr ""
#. Label of the ordered_qty (Float) field in DocType 'Material Request Plan
#. Item'
@@ -33862,9 +34390,10 @@ msgstr "已訂購"
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/packed_item/packed_item.json
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:162
+#: erpnext/stock/page/stock_balance/stock_balance.js:60
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:163
msgid "Ordered Qty"
-msgstr "訂購數量"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:205
msgid "Ordered Qty: Quantity ordered for purchase, but not received."
@@ -33874,14 +34403,14 @@ msgstr ""
#: erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.json
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:102
msgid "Ordered Quantity"
-msgstr "訂購數量"
+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:966
#: erpnext/setup/doctype/company/company_dashboard.py:23
msgid "Orders"
-msgstr "訂單"
+msgstr ""
#. Label of the organization_section (Section Break) field in DocType 'Lead'
#. Label of the organization_details_section (Section Break) field in DocType
@@ -33894,7 +34423,7 @@ msgstr "訂單"
#: erpnext/desktop_icon/organization.json
#: erpnext/workspace_sidebar/organization.json
msgid "Organization"
-msgstr "組織"
+msgstr ""
#. Label of the company_name (Data) field in DocType 'Lead'
#: erpnext/crm/doctype/lead/lead.json
@@ -33924,7 +34453,9 @@ msgstr ""
#. Label of the other_info_tab (Tab Break) field in DocType 'Stock Entry'
#. Label of the tab_other_info (Tab Break) field in DocType 'Subcontracting
#. Inward Order'
+#. Label of the tab_other_info (Tab Break) field in DocType 'Subcontracting
#. Order'
+#. Label of the tab_other_info (Tab Break) field in DocType 'Subcontracting
#. Receipt'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json
@@ -33944,7 +34475,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Other Reports"
-msgstr "其他報告"
+msgstr ""
#. Label of the other_settings_section (Section Break) field in DocType
#. 'Manufacturing Settings'
@@ -33992,13 +34523,13 @@ msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:119
#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:83
#: erpnext/stock/report/stock_balance/stock_balance.py:551
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:325
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:328
msgid "Out Qty"
-msgstr "輸出數量"
+msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.py:557
msgid "Out Value"
-msgstr "輸出值"
+msgstr ""
#. Option for the 'Maintenance Status' (Select) field in DocType 'Serial No'
#. Option for the 'Warranty / AMC Status' (Select) field in DocType 'Warranty
@@ -34012,9 +34543,9 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset/asset_list.js:20
msgid "Out of Order"
-msgstr "亂序"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:635
+#: erpnext/stock/doctype/pick_list/pick_list.py:665
msgid "Out of Stock"
msgstr ""
@@ -34030,7 +34561,7 @@ msgstr ""
msgid "Out of stock"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1248
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1254
#: erpnext/selling/page/point_of_sale/pos_controller.js:199
msgid "Outdated POS Opening Entry"
msgstr ""
@@ -34049,7 +34580,7 @@ msgstr ""
#. Label of the outgoing_rate (Currency) field in DocType 'Stock Ledger Entry'
#: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:379
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:382
msgid "Outgoing Rate"
msgstr ""
@@ -34076,9 +34607,11 @@ msgstr ""
#. Creation Tool Item'
#. Label of the outstanding_amount (Currency) field in DocType 'Payment
#. Reconciliation Invoice'
+#. Label of the outstanding_amount (Currency) field in DocType 'Payment
#. Request'
#. Label of the outstanding_amount (Currency) field in DocType 'POS Invoice'
#. Label of the outstanding_amount (Currency) field in DocType 'Purchase
+#. Invoice'
#. Label of the outstanding_amount (Currency) field in DocType 'Sales Invoice'
#: erpnext/accounts/doctype/cashier_closing/cashier_closing.json
#: erpnext/accounts/doctype/discounted_invoice/discounted_invoice.json
@@ -34093,16 +34626,16 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:140
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:141
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1220
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1227
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:167
#: erpnext/accounts/report/purchase_register/purchase_register.py:305
#: erpnext/accounts/report/sales_register/sales_register.py:333
msgid "Outstanding Amount"
-msgstr "未償還的金額"
+msgstr ""
#: erpnext/selling/report/customer_credit_balance/customer_credit_balance.py:66
msgid "Outstanding Amt"
-msgstr "優秀的金額"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankReconciliationStatement.tsx:295
msgid "Outstanding Checks and Deposits to clear"
@@ -34110,11 +34643,11 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:48
msgid "Outstanding Cheques and Deposits to clear"
-msgstr "傑出的支票及存款清除"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:405
msgid "Outstanding for {0} cannot be less than zero ({1})"
-msgstr "傑出的{0}不能小於零( {1} )"
+msgstr ""
#. Option for the 'Payment Request Type' (Select) field in DocType 'Payment
#. Request'
@@ -34141,7 +34674,7 @@ msgstr ""
msgid "Over Billing Allowance (%)"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1377
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1367
msgid "Over Billing Allowance exceeded for Purchase Receipt Item {0} ({1}) by {2}%"
msgstr ""
@@ -34164,11 +34697,11 @@ msgstr ""
msgid "Over Picking Allowance (%)"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1816
+#: erpnext/controllers/stock_controller.py:1914
msgid "Over Receipt"
msgstr ""
-#: erpnext/controllers/status_updater.py:516
+#: erpnext/controllers/status_updater.py:518
msgid "Over Receipt/Delivery of {0} {1} ignored for item {2} because you have {3} role."
msgstr ""
@@ -34185,11 +34718,11 @@ msgstr ""
msgid "Over Withheld"
msgstr ""
-#: erpnext/controllers/status_updater.py:518
+#: erpnext/controllers/status_updater.py:520
msgid "Overbilling of {0} {1} ignored for item {2} because you have {3} role."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2211
+#: erpnext/controllers/accounts_controller.py:2216
msgid "Overbilling of {} ignored because you have {} role."
msgstr ""
@@ -34198,6 +34731,7 @@ msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Sales Invoice'
#. Option for the 'Maintenance Status' (Select) field in DocType 'Asset
#. Maintenance Log'
+#. Option for the 'Maintenance Status' (Select) field in DocType 'Asset
#. Maintenance Task'
#. Option for the 'Status' (Select) field in DocType 'Task'
#. Option in a Select field in the tasks Web Form
@@ -34212,13 +34746,27 @@ msgstr ""
#: erpnext/projects/web_form/tasks/tasks.json
#: erpnext/selling/doctype/sales_order/sales_order_list.js:30
msgid "Overdue"
-msgstr "過期的"
+msgstr ""
#. Label of the overdue_days (Data) field in DocType 'Overdue Payment'
#: erpnext/accounts/doctype/overdue_payment/overdue_payment.json
msgid "Overdue Days"
msgstr ""
+#. Label of the overdue_billing_threshold (Currency) field in DocType 'Customer
+#. Credit Limit'
+#: erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.json
+msgid "Overdue Limit"
+msgstr ""
+
+#: erpnext/selling/doctype/customer/customer.py:708
+msgid "Overdue Limit Crossed"
+msgstr ""
+
+#: erpnext/selling/doctype/customer/customer.py:703
+msgid "Overdue Limit crossed for customer {0}. Overdue amount {1} exceeds the allowed limit {2}."
+msgstr ""
+
#. Name of a DocType
#: erpnext/accounts/doctype/overdue_payment/overdue_payment.json
msgid "Overdue Payment"
@@ -34242,11 +34790,11 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py:70
msgid "Overlap in scoring between {0} and {1}"
-msgstr "{0}和{1}之間的得分重疊"
+msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:206
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:212
msgid "Overlapping conditions found between:"
-msgstr "存在重疊的條件:"
+msgstr ""
#. Label of the overproduction_percentage_for_sales_order (Percent) field in
#. DocType 'Manufacturing Settings'
@@ -34278,15 +34826,6 @@ msgstr ""
msgid "Owned"
msgstr ""
-#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.js:29
-#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:23
-#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:39
-#: erpnext/accounts/report/sales_register/sales_register.js:46
-#: erpnext/accounts/report/sales_register/sales_register.py:250
-#: erpnext/crm/report/lead_details/lead_details.py:45
-msgid "Owner"
-msgstr ""
-
#. Label of the asset_owner_section (Section Break) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
msgid "Ownership"
@@ -34408,7 +34947,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/pos_customer_group/pos_customer_group.json
msgid "POS Customer Group"
-msgstr "POS客戶群"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/pos_field/pos_field.json
@@ -34492,7 +35031,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/pos_item_group/pos_item_group.json
msgid "POS Item Group"
-msgstr "POS項目組"
+msgstr ""
#. Label of the pos_item_selector_section (Section Break) field in DocType 'POS
#. Profile'
@@ -34511,7 +35050,7 @@ msgstr ""
msgid "POS Opening Entry"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1249
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1255
msgid "POS Opening Entry - {0} is outdated. Please close the POS and create a new POS Opening Entry."
msgstr ""
@@ -34532,7 +35071,7 @@ msgstr ""
msgid "POS Opening Entry Exists"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1234
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1240
msgid "POS Opening Entry Missing"
msgstr ""
@@ -34566,33 +35105,33 @@ msgstr ""
#: erpnext/selling/page/point_of_sale/pos_controller.js:71
#: erpnext/workspace_sidebar/selling.json
msgid "POS Profile"
-msgstr "POS簡介"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1242
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1248
msgid "POS Profile - {0} has multiple open POS Opening Entries. Please close or cancel the existing entries before proceeding."
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:247
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:248
msgid "POS Profile - {0} is currently open. Please close the POS or cancel the existing POS Opening Entry before cancelling this POS Closing Entry."
msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/pos_profile_user/pos_profile_user.json
msgid "POS Profile User"
-msgstr "POS配置文件用戶"
+msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:122
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:187
msgid "POS Profile doesn't match {}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1202
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1208
msgid "POS Profile is mandatory to mark this invoice as POS Transaction."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1431
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1437
msgid "POS Profile required to make POS Entry"
-msgstr "所需的POS資料,使POS進入"
+msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:113
msgid "POS Profile {0} cannot be disabled as there are ongoing POS sessions."
@@ -34634,7 +35173,7 @@ msgstr ""
#: erpnext/workspace_sidebar/erpnext_settings.json
#: erpnext/workspace_sidebar/selling.json
msgid "POS Settings"
-msgstr "POS設置"
+msgstr ""
#. Label of the pos_invoices (Table) field in DocType 'POS Closing Entry'
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
@@ -34683,7 +35222,7 @@ msgstr ""
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
msgid "Packed Item"
-msgstr "盒裝產品"
+msgstr ""
#. Label of the packed_items (Table) field in DocType 'POS Invoice'
#. Label of the packed_items (Table) field in DocType 'Sales Invoice'
@@ -34696,7 +35235,7 @@ msgstr "盒裝產品"
msgid "Packed Items"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1650
+#: erpnext/controllers/stock_controller.py:1748
msgid "Packed Items cannot be transferred internally"
msgstr ""
@@ -34726,16 +35265,16 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Packing Slip"
-msgstr "包裝單"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
msgid "Packing Slip Item"
-msgstr "包裝單項目"
+msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:623
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:635
msgid "Packing Slip(s) cancelled"
-msgstr "包裝單( S)已取消"
+msgstr ""
#. Label of the packing_unit (Int) field in DocType 'Item Price'
#: erpnext/stock/doctype/item_price/item_price.json
@@ -34762,7 +35301,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:295
msgid "Paid"
-msgstr "付費"
+msgstr ""
#. Label of the paid_amount (Currency) field in DocType 'Overdue Payment'
#. Label of the paid_amount (Currency) field in DocType 'Payment Entry'
@@ -34778,7 +35317,7 @@ msgstr "付費"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:173
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1214
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1221
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:165
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:201
#: erpnext/accounts/report/pos_register/pos_register.py:209
@@ -34786,7 +35325,7 @@ msgstr "付費"
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:56
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:277
msgid "Paid Amount"
-msgstr "支付的金額"
+msgstr ""
#. Label of the base_paid_amount (Currency) field in DocType 'Payment Entry'
#. Label of the base_paid_amount (Currency) field in DocType 'Payment Schedule'
@@ -34815,7 +35354,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1965
msgid "Paid Amount cannot be greater than total negative outstanding amount {0}"
-msgstr "支付的金額不能超過總負餘額大於{0}"
+msgstr ""
#: banking/src/components/features/BankReconciliation/TransferModalContent.tsx:315
msgid "Paid From"
@@ -34843,10 +35382,10 @@ msgstr ""
msgid "Paid To Account Type"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:334
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1198
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:344
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1204
msgid "Paid amount + Write Off Amount can not be greater than Grand Total"
-msgstr "支付的金額+寫的抵銷金額不能大於總計"
+msgstr ""
#: banking/src/components/features/BankReconciliation/RecordPaymentModalContent.tsx:404
msgid "Paid to"
@@ -34866,6 +35405,7 @@ msgstr ""
#. Inspection Parameter'
#. Label of the parameter_group (Link) field in DocType 'Quality Inspection
#. Parameter'
+#. Label of the parameter_group (Link) field in DocType 'Quality Inspection
#. Reading'
#: erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
#: erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.json
@@ -34882,6 +35422,7 @@ msgstr ""
#. Label of the param_name (Data) field in DocType 'Supplier Scorecard Scoring
#. Variable'
#. Label of the param_name (Data) field in DocType 'Supplier Scorecard
+#. Variable'
#: erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json
#: erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json
msgid "Parameter Name"
@@ -34922,7 +35463,7 @@ msgstr ""
msgid "Parent Account"
msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:382
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:383
msgid "Parent Account Missing"
msgstr ""
@@ -34936,7 +35477,7 @@ msgstr ""
msgid "Parent Company"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:605
+#: erpnext/setup/doctype/company/company.py:607
msgid "Parent Company must be a group company"
msgstr ""
@@ -34984,7 +35525,7 @@ msgstr ""
#: erpnext/selling/doctype/product_bundle/product_bundle.py:79
msgid "Parent Item {0} must not be a Stock Item"
-msgstr "父項{0}不能是庫存產品"
+msgstr ""
#. Label of the parent_location (Link) field in DocType 'Location'
#: erpnext/assets/doctype/location/location.json
@@ -35002,7 +35543,7 @@ msgstr ""
msgid "Parent Row No"
msgstr ""
-#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:610
+#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:617
msgid "Parent Row No not found for {0}"
msgstr ""
@@ -35021,11 +35562,11 @@ msgstr ""
msgid "Parent Task"
msgstr ""
-#: erpnext/projects/doctype/task/task.py:170
+#: erpnext/projects/doctype/task/task.py:171
msgid "Parent Task {0} is not a Template Task"
msgstr ""
-#: erpnext/projects/doctype/task/task.py:193
+#: erpnext/projects/doctype/task/task.py:194
msgid "Parent Task {0} must be a Group Task"
msgstr ""
@@ -35043,9 +35584,9 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.json
#: erpnext/stock/page/warehouse_capacity_summary/warehouse_capacity_summary.js:47
msgid "Parent Warehouse"
-msgstr "家長倉庫"
+msgstr ""
-#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:167
+#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:191
msgid "Parsed file is not in valid MT940 format or contains no transactions."
msgstr ""
@@ -35063,11 +35604,11 @@ msgstr ""
msgid "Partial Material Transferred"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1221
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1227
msgid "Partial Payment in POS Transactions are not allowed."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1724
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1731
msgid "Partial Stock Reservation"
msgstr ""
@@ -35088,6 +35629,7 @@ msgstr ""
#. Option for the 'Completion Status' (Select) field in DocType 'Maintenance
#. Schedule Detail'
+#. Option for the 'Completion Status' (Select) field in DocType 'Maintenance
#. Visit'
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
@@ -35103,7 +35645,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset/asset_list.js:8
msgid "Partially Depreciated"
-msgstr "部分貶抑"
+msgstr ""
#. Option for the 'Fulfilment Status' (Select) field in DocType 'Contract'
#: erpnext/crm/doctype/contract/contract.json
@@ -35123,6 +35665,7 @@ msgstr ""
#. Option for the 'Advance Payment Status' (Select) field in DocType 'Purchase
#. Order'
#. Option for the 'Advance Payment Status' (Select) field in DocType 'Sales
+#. Order'
#: erpnext/accounts/doctype/payment_request/payment_request.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/selling/doctype/sales_order/sales_order.json
@@ -35141,6 +35684,7 @@ msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Process Payment
#. Reconciliation'
+#. Option for the 'Status' (Select) field in DocType 'Process Payment
#. Reconciliation Log'
#: banking/src/components/features/BankReconciliation/BankTransactionList.tsx:133
#: banking/src/components/features/BankReconciliation/BankTransactionList.tsx:415
@@ -35149,13 +35693,20 @@ msgstr ""
msgid "Partially Reconciled"
msgstr ""
+#. Option for the 'Status' (Select) field in DocType 'Repost Accounting Ledger'
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.json
+msgid "Partially Reposted"
+msgstr ""
+
#. Option for the 'Status' (Select) field in DocType 'Stock Reservation Entry'
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
msgid "Partially Reserved"
msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Job Card'
+#. Option for the 'Status' (Select) field in DocType 'Pick List'
#: erpnext/manufacturing/doctype/job_card/job_card.json
+#: erpnext/stock/doctype/pick_list/pick_list.json
msgid "Partially Transferred"
msgstr ""
@@ -35278,7 +35829,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:105
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:82
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:65
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1147
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1154
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:82
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:147
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:49
@@ -35292,6 +35843,7 @@ msgstr ""
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.js:25
#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.js:26
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:57
+#: erpnext/controllers/trends.py:402
#: erpnext/crm/doctype/appointment/appointment.json
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/report/lost_opportunity/lost_opportunity.js:55
@@ -35302,13 +35854,13 @@ msgstr ""
#: erpnext/stock/doctype/item/item_prices.html:83
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:86
msgid "Party"
-msgstr "黨"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/party_account/party_account.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1159
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1166
msgid "Party Account"
-msgstr "參與者科目"
+msgstr ""
#. Label of the party_account_currency (Link) field in DocType 'Payment
#. Request'
@@ -35339,7 +35891,7 @@ msgstr ""
msgid "Party Account No. (Bank Statement)"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2495
+#: erpnext/controllers/accounts_controller.py:2500
msgid "Party Account {0} currency ({1}) and document currency ({2}) should be same"
msgstr ""
@@ -35412,11 +35964,11 @@ msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.json
#: erpnext/accounts/report/general_ledger/general_ledger.js:111
#: erpnext/accounts/report/general_ledger/general_ledger.py:785
-#: erpnext/crm/doctype/contract/contract.json
+#: erpnext/controllers/trends.py:408 erpnext/crm/doctype/contract/contract.json
#: erpnext/selling/doctype/party_specific_item/party_specific_item.json
#: erpnext/selling/report/address_and_contacts/address_and_contacts.js:22
msgid "Party Name"
-msgstr "方名稱"
+msgstr ""
#. Option for the 'Maps To' (Select) field in DocType 'Bank Statement Import
#. Log Column Map'
@@ -35449,6 +36001,7 @@ msgstr ""
#. Label of the party_type (Link) field in DocType 'GL Entry'
#. Label of the party_type (Link) field in DocType 'Journal Entry Account'
#. Label of the party_type (Link) field in DocType 'Journal Entry Template
+#. Account'
#. Label of the party_type (Link) field in DocType 'Opening Invoice Creation
#. Tool Item'
#. Label of the party_type (Link) field in DocType 'Payment Entry'
@@ -35490,7 +36043,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:92
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:69
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:52
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1141
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1148
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:69
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:141
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:42
@@ -35511,24 +36064,24 @@ msgstr ""
#: erpnext/setup/doctype/party_type/party_type.json
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:80
msgid "Party Type"
-msgstr "黨的類型"
+msgstr ""
-#: erpnext/accounts/party.py:834
+#: erpnext/accounts/party.py:850
msgid "Party Type and Party can only be set for Receivable / Payable account
{0}"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:631
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:701
msgid "Party Type and Party is mandatory for {0} account"
-msgstr "{0}科目的參與方以及類型為必填"
+msgstr ""
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:178
msgid "Party Type and Party is required for Receivable / Payable account {0}"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:535
-#: erpnext/accounts/party.py:432
+#: erpnext/accounts/party.py:443
msgid "Party Type is mandatory"
-msgstr "黨的類型是強制性"
+msgstr ""
#. Label of the party_user (Link) field in DocType 'Contract'
#: erpnext/crm/doctype/contract/contract.json
@@ -35545,7 +36098,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:538
msgid "Party is mandatory"
-msgstr "黨是強制性"
+msgstr ""
#: banking/src/components/features/BankReconciliation/RecordPaymentModalContent.tsx:189
#: banking/src/components/features/BankReconciliation/RecordPaymentModalContent.tsx:199
@@ -35595,7 +36148,7 @@ msgstr ""
#: erpnext/accounts/doctype/subscription/subscription_list.js:10
msgid "Past Due Date"
-msgstr "過去的截止日期"
+msgstr ""
#: erpnext/public/js/templates/crm_activities.html:152
msgid "Past Events"
@@ -35620,9 +36173,11 @@ msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Process Payment
#. Reconciliation'
+#. Option for the 'Status' (Select) field in DocType 'Process Payment
#. Reconciliation Log'
#. Option for the 'Status' (Select) field in DocType 'Process Period Closing
#. Voucher'
+#. Option for the 'Status' (Select) field in DocType 'Process Period Closing
#. Voucher Detail'
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
#: erpnext/accounts/doctype/process_payment_reconciliation_log/process_payment_reconciliation_log.json
@@ -35655,15 +36210,15 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:54
#: erpnext/setup/doctype/party_type/party_type.json
msgid "Payable"
-msgstr "支付"
+msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:50
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1157
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1164
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:209
#: erpnext/accounts/report/purchase_register/purchase_register.py:210
#: erpnext/accounts/report/purchase_register/purchase_register.py:251
msgid "Payable Account"
-msgstr "應付帳款"
+msgstr ""
#. Label of the payables (Check) field in DocType 'Email Digest'
#. Label of a Workspace Sidebar Item
@@ -35715,7 +36270,7 @@ msgstr ""
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:50
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:273
msgid "Payment Amount"
-msgstr "付款金額"
+msgstr ""
#. Label of the base_payment_amount (Currency) field in DocType 'Payment
#. Schedule'
@@ -35754,7 +36309,7 @@ msgstr ""
#: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.py:132
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:81
msgid "Payment Document"
-msgstr "付款單據"
+msgstr ""
#: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:26
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:68
@@ -35780,7 +36335,7 @@ msgstr ""
#: erpnext/accounts/utils.py:1151
msgid "Payment Entries {0} are un-linked"
-msgstr "付款項{0}是聯合國聯"
+msgstr ""
#. Label of the payment_entry (Dynamic Link) field in DocType 'Bank Clearance
#. Detail'
@@ -35811,7 +36366,7 @@ msgstr "付款項{0}是聯合國聯"
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Payment Entry"
-msgstr "付款輸入"
+msgstr ""
#: banking/src/components/features/BankReconciliation/RecordPaymentModalContent.tsx:342
msgid "Payment Entry Created"
@@ -35820,33 +36375,33 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_entry_deduction/payment_entry_deduction.json
msgid "Payment Entry Deduction"
-msgstr "輸入付款扣除"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json
msgid "Payment Entry Reference"
-msgstr "付款輸入參考"
+msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:477
+#: erpnext/accounts/doctype/payment_request/payment_request.py:493
msgid "Payment Entry already exists"
-msgstr "付款項目已存在"
+msgstr ""
#: erpnext/accounts/utils.py:650
msgid "Payment Entry has been modified after you pulled it. Please pull it again."
-msgstr "付款項被修改,你把它之後。請重新拉。"
+msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:155
-#: erpnext/accounts/doctype/payment_request/payment_request.py:637
+#: erpnext/accounts/doctype/payment_request/payment_request.py:653
msgid "Payment Entry is already created"
-msgstr "已創建付款輸入"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:1644
+#: erpnext/controllers/accounts_controller.py:1649
msgid "Payment Entry {0} is linked against Order {1}, check if it should be pulled as advance in this invoice."
msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:378
msgid "Payment Failed"
-msgstr "支付失敗"
+msgstr ""
#. Label of the party_section (Section Break) field in DocType 'Bank
#. Transaction'
@@ -35872,11 +36427,11 @@ msgstr ""
#: erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
#: erpnext/accounts/doctype/payment_request/payment_request.json
msgid "Payment Gateway Account"
-msgstr "網路支付閘道科目"
+msgstr ""
-#: erpnext/accounts/utils.py:1509
+#: erpnext/accounts/utils.py:1503
msgid "Payment Gateway Account not created, please create one manually."
-msgstr "支付閘道科目沒有創建,請手動創建一個。"
+msgstr ""
#. Label of the section_break_7 (Section Break) field in DocType 'Payment
#. Request'
@@ -35903,6 +36458,10 @@ msgstr ""
msgid "Payment Limit"
msgstr ""
+#: erpnext/accounts/doctype/payment_request/payment_request.py:434
+msgid "Payment Link couldn't be sent."
+msgstr ""
+
#: erpnext/accounts/report/pos_register/pos_register.js:50
#: erpnext/accounts/report/pos_register/pos_register.py:126
#: erpnext/accounts/report/pos_register/pos_register.py:216
@@ -35939,14 +36498,14 @@ msgstr ""
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Payment Order"
-msgstr "付款單"
+msgstr ""
#. Label of the references (Table) field in DocType 'Payment Order'
#. Name of a DocType
#: erpnext/accounts/doctype/payment_order/payment_order.json
#: erpnext/accounts/doctype/payment_order_reference/payment_order_reference.json
msgid "Payment Order Reference"
-msgstr "付款訂單參考"
+msgstr ""
#. Label of the payment_order_status (Select) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -35973,7 +36532,7 @@ msgstr ""
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Payment Period Based On Invoice Date"
-msgstr "基於發票日的付款期"
+msgstr ""
#. Label of the payment_plan_section (Section Break) field in DocType
#. 'Subscription Plan'
@@ -35983,7 +36542,7 @@ msgstr ""
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:4
msgid "Payment Receipt Note"
-msgstr "付款收貨注意事項"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:359
msgid "Payment Received"
@@ -35998,7 +36557,7 @@ msgstr ""
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Payment Reconciliation"
-msgstr "付款對帳"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json
@@ -36008,7 +36567,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json
msgid "Payment Reconciliation Invoice"
-msgstr "付款發票對帳"
+msgstr ""
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:139
msgid "Payment Reconciliation Job: {0} is running for this party. Can't reconcile now."
@@ -36017,7 +36576,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json
msgid "Payment Reconciliation Payment"
-msgstr "付款方式付款對賬"
+msgstr ""
#. Label of the section_break_jpd0 (Section Break) field in DocType 'Accounts
#. Settings'
@@ -36051,6 +36610,7 @@ msgstr ""
#. Option for the 'Payment Order Type' (Select) field in DocType 'Payment
#. Order'
#. Label of the payment_request (Link) field in DocType 'Payment Order
+#. Reference'
#. Name of a DocType
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
@@ -36067,7 +36627,7 @@ msgstr ""
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Payment Request"
-msgstr "付錢請求"
+msgstr ""
#. Label of the payment_request_outstanding (Float) field in DocType 'Payment
#. Entry Reference'
@@ -36081,11 +36641,11 @@ msgstr ""
msgid "Payment Request Type"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:710
+#: erpnext/accounts/doctype/payment_request/payment_request.py:726
msgid "Payment Request for {0}"
-msgstr "付款申請{0}"
+msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:651
+#: erpnext/accounts/doctype/payment_request/payment_request.py:667
msgid "Payment Request is already created"
msgstr ""
@@ -36093,7 +36653,7 @@ msgstr ""
msgid "Payment Request took too long to respond. Please try requesting for payment again."
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:568
+#: erpnext/accounts/doctype/payment_request/payment_request.py:584
msgid "Payment Requests cannot be created against: {0}"
msgstr ""
@@ -36119,17 +36679,17 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
-#: erpnext/controllers/accounts_controller.py:2777
+#: erpnext/controllers/accounts_controller.py:2782
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Payment Schedule"
-msgstr "付款時間表"
+msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:590
+#: erpnext/accounts/doctype/payment_request/payment_request.py:606
msgid "Payment Schedule based Payment Requests cannot be created because a Payment Entry already exists for this document."
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:529
+#: erpnext/public/js/controllers/transaction.js:534
msgid "Payment Schedules"
msgstr ""
@@ -36148,10 +36708,10 @@ msgstr ""
#: erpnext/accounts/doctype/payment_schedule/payment_schedule.json
#: erpnext/accounts/doctype/payment_term/payment_term.json
#: erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1210
-#: erpnext/accounts/report/gross_profit/gross_profit.py:449
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1217
+#: erpnext/accounts/report/gross_profit/gross_profit.py:451
#: erpnext/accounts/workspace/invoicing/invoicing.json
-#: erpnext/public/js/controllers/transaction.js:544
+#: erpnext/public/js/controllers/transaction.js:549
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:30
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Payment Term"
@@ -36173,8 +36733,11 @@ msgstr ""
#. Invoice'
#. Label of the payment_schedule_section (Section Break) field in DocType
#. 'Purchase Invoice'
+#. Label of the payment_schedule_section (Section Break) field in DocType
#. 'Sales Invoice'
+#. Label of the payment_schedule_section (Section Break) field in DocType
#. 'Purchase Order'
+#. Label of the payment_schedule_section (Section Break) field in DocType
#. 'Quotation'
#. Label of the payment_terms_section (Section Break) field in DocType 'Sales
#. Order'
@@ -36186,7 +36749,7 @@ msgstr ""
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Payment Terms"
-msgstr "付款條件"
+msgstr ""
#. Name of a report
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.json
@@ -36222,12 +36785,12 @@ msgstr ""
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Payment Terms Template"
-msgstr "付款條款模板"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.json
msgid "Payment Terms Template Detail"
-msgstr "付款條款模板細節"
+msgstr ""
#. Description of the 'Automatically fetch Payment Terms from Order/Quotation'
#. (Check) field in DocType 'Accounts Settings'
@@ -36245,11 +36808,11 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js:28
msgid "Payment Type"
-msgstr "付款類型"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:624
msgid "Payment Type must be one of Receive, Pay and Internal Transfer"
-msgstr "付款方式必須是接收之一,收費和內部轉賬"
+msgstr ""
#. Label of the payment_url (Data) field in DocType 'Payment Request'
#: erpnext/accounts/doctype/payment_request/payment_request.json
@@ -36260,9 +36823,9 @@ msgstr ""
msgid "Payment Unlink Error"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:903
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:904
msgid "Payment against {0} {1} cannot be greater than Outstanding Amount {2}"
-msgstr "對支付{0} {1}不能大於未償還{2}"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:802
msgid "Payment amount cannot be less than or equal to 0"
@@ -36272,7 +36835,7 @@ msgstr ""
msgid "Payment methods are mandatory. Please add at least one payment method."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3098
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3104
msgid "Payment methods refreshed. Please review before proceeding."
msgstr ""
@@ -36306,6 +36869,7 @@ msgstr ""
#. Invoice'
#. Label of the payments_tab (Tab Break) field in DocType 'Purchase Invoice'
#. Label of the payments_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the payments_tab (Tab Break) field in DocType 'Sales Invoice'
#. Label of a Card Break in the Invoicing Workspace
#. Option for the 'Hold Type' (Select) field in DocType 'Supplier'
@@ -36349,13 +36913,13 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:156
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:262
msgid "Payroll Payable"
-msgstr "應付職工薪酬"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Timesheet'
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/doctype/timesheet/timesheet_list.js:13
msgid "Payslip"
-msgstr "工資單"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -36385,14 +36949,14 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/templates/default.html:93
msgid "Pending Activities"
-msgstr "待活動"
+msgstr ""
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:65
#: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:65
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:291
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:306
msgid "Pending Amount"
-msgstr "待審核金額"
+msgstr ""
#. Label of the pending_qty (Float) field in DocType 'Job Card'
#. Label of the pending_qty (Float) field in DocType 'Production Plan Item'
@@ -36406,7 +36970,7 @@ msgstr "待審核金額"
#: erpnext/selling/doctype/sales_order/sales_order.js:1688
#: erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py:45
msgid "Pending Qty"
-msgstr "待定數量"
+msgstr ""
#: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py:55
#: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:45
@@ -36436,7 +37000,7 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Pending SO Items For Purchase Request"
-msgstr "待處理的SO項目對於採購申請"
+msgstr ""
#: erpnext/manufacturing/dashboard_fixtures.py:123
msgid "Pending Work Order"
@@ -36444,17 +37008,17 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:177
msgid "Pending activities for today"
-msgstr "今天待定活動"
+msgstr ""
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:276
msgid "Pending processing"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1521
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1534
msgid "Pending quantity cannot be greater than the for quantity."
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1515
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1528
msgid "Pending quantity cannot be negative."
msgstr ""
@@ -36471,8 +37035,7 @@ msgstr ""
#. Description of the 'Total Workstation Time (In Hours)' (Int) field in
#. DocType 'Item Lead Time'
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
-msgid ""
-"Per Day\n"
+msgid "Per Day\n"
"Shift Time (In Hours) * No of Workstations * No of Shift"
msgstr ""
@@ -36568,7 +37131,7 @@ msgid "Percentage you are allowed to transfer more against the quantity ordered.
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:6
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:442
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:445
msgid "Perception Analysis"
msgstr ""
@@ -36598,13 +37161,13 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Period Closing Voucher"
-msgstr "期末券"
+msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:499
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:627
msgid "Period Closing Voucher {0} GL Entry Cancellation Failed"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:478
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:606
msgid "Period Closing Voucher {0} GL Entry Processing Failed"
msgstr ""
@@ -36624,7 +37187,7 @@ msgstr ""
msgid "Period End Date"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:69
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:81
msgid "Period End Date cannot be greater than Fiscal Year End Date"
msgstr ""
@@ -36659,17 +37222,18 @@ msgstr ""
#. Label of the period_start_date (Datetime) field in DocType 'POS Closing
#. Entry'
#. Label of the period_start_date (Datetime) field in DocType 'POS Opening
+#. Entry'
#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.json
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.json
msgid "Period Start Date"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:66
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:78
msgid "Period Start Date cannot be greater than Period End Date"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:63
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:75
msgid "Period Start Date must be {0}"
msgstr ""
@@ -36718,9 +37282,9 @@ msgstr ""
#: erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.json
#: erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.json
#: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.js:54
-#: erpnext/public/js/financial_statements.js:451
+#: erpnext/public/js/financial_statements.js:471
msgid "Periodicity"
-msgstr "週期性"
+msgstr ""
#. Label of the permanent_address (Small Text) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -36771,17 +37335,17 @@ msgid "Phantom BOM cannot be created for stock item {0}."
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom_item_preview.html:16
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:321
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:329
msgid "Phantom Item"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:430
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:438
msgid "Phantom Item is mandatory"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:234
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:237
msgid "Pharmaceutical"
-msgstr "製藥"
+msgstr ""
#: erpnext/setup/setup_wizard/data/industry_type.txt:37
msgid "Pharmaceuticals"
@@ -36817,7 +37381,7 @@ msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/selling/doctype/sales_order/sales_order.js:1028
#: erpnext/stock/doctype/delivery_note/delivery_note.js:199
-#: erpnext/stock/doctype/material_request/material_request.js:156
+#: erpnext/stock/doctype/material_request/material_request.js:159
#: erpnext/stock/doctype/pick_list/pick_list.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
@@ -36827,16 +37391,18 @@ msgstr ""
msgid "Pick List"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:270
+#: erpnext/stock/doctype/pick_list/pick_list.py:272
msgid "Pick List Incomplete"
msgstr ""
#. Label of the pick_list_item (Data) field in DocType 'Sales Invoice Item'
#. Label of the pick_list_item (Data) field in DocType 'Delivery Note Item'
#. Name of a DocType
+#. Label of the pick_list_item (Link) field in DocType 'Stock Entry Detail'
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
+#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Pick List Item"
msgstr ""
@@ -36860,8 +37426,10 @@ msgstr ""
#. Label of the pick_serial_and_batch (Button) field in DocType 'Sales Invoice
#. Item'
#. Label of the pick_serial_and_batch (Button) field in DocType 'Delivery Note
+#. Item'
#. Label of the pick_serial_and_batch (Button) field in DocType 'Packed Item'
#. Label of the pick_serial_and_batch (Button) field in DocType 'Pick List
+#. Item'
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
@@ -37033,6 +37601,7 @@ msgstr ""
#. Option for the 'Maintenance Status' (Select) field in DocType 'Asset
#. Maintenance Log'
+#. Option for the 'Maintenance Status' (Select) field in DocType 'Asset
#. Maintenance Task'
#. Option for the 'Status' (Select) field in DocType 'Sales Forecast'
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.json
@@ -37046,7 +37615,11 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:236
msgid "Planned End Date"
-msgstr "計劃的結束日期"
+msgstr ""
+
+#: erpnext/manufacturing/doctype/work_order/work_order.py:300
+msgid "Planned End Date cannot be before Planned Start Date"
+msgstr ""
#. Label of the planned_end_time (Datetime) field in DocType 'Work Order
#. Operation'
@@ -37074,9 +37647,10 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1032
#: erpnext/stock/doctype/bin/bin.json
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:148
+#: erpnext/stock/page/stock_balance/stock_balance.js:62
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:149
msgid "Planned Qty"
-msgstr "計劃數量"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:199
msgid "Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured."
@@ -37086,7 +37660,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:109
msgid "Planned Quantity"
-msgstr "計劃數量"
+msgstr ""
#. Label of the planned_start_date (Datetime) field in DocType 'Production Plan
#. Item'
@@ -37095,7 +37669,7 @@ msgstr "計劃數量"
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:230
msgid "Planned Start Date"
-msgstr "計劃開始日期"
+msgstr ""
#. Label of the planned_start_time (Datetime) field in DocType 'Work Order
#. Operation'
@@ -37115,9 +37689,9 @@ msgstr ""
#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:262
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:265
msgid "Planning"
-msgstr "規劃"
+msgstr ""
#. Label of the sb_4 (Section Break) field in DocType 'Subscription'
#. Label of the plans (Table) field in DocType 'Subscription'
@@ -37143,9 +37717,9 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:57
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:97
msgid "Plants and Machineries"
-msgstr "廠房和機械設備"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:632
+#: erpnext/stock/doctype/pick_list/pick_list.py:662
msgid "Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List."
msgstr ""
@@ -37169,19 +37743,19 @@ msgstr ""
msgid "Please Select a Supplier"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:161
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:179
msgid "Please Set Priority"
msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:182
msgid "Please Set Supplier Group in Buying Settings."
-msgstr "請設置供應商組購買設置。"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1919
msgid "Please Specify Account"
msgstr ""
-#: erpnext/buying/doctype/supplier/supplier.py:129
+#: erpnext/buying/doctype/supplier/supplier.py:133
msgid "Please add 'Supplier' role to user {0}."
msgstr ""
@@ -37197,13 +37771,17 @@ msgstr ""
msgid "Please add Request for Quotation to the sidebar in Portal Settings."
msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:419
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:420
msgid "Please add Root Account for - {0}"
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:332
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:343
msgid "Please add a Temporary Opening account in Chart of Accounts"
-msgstr "請在會計科目表中添加一個臨時開戶科目"
+msgstr ""
+
+#: erpnext/crm/doctype/appointment/appointment.py:95
+msgid "Please add a valid Holiday List on Appointment Booking Settings."
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.py:119
msgid "Please add an account for the Bank Entry rule."
@@ -37213,7 +37791,7 @@ msgstr ""
msgid "Please add atleast one Serial No / Batch No"
msgstr ""
-#: erpnext/crm/doctype/crm_settings/crm_settings.py:51
+#: erpnext/crm/doctype/crm_settings/crm_settings.py:53
msgid "Please add atleast one user on Allowed Users to allow Data Synchronization from Frappe CRM site."
msgstr ""
@@ -37225,15 +37803,15 @@ msgstr ""
msgid "Please add the account to root level Company - {0}"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:233
+#: erpnext/accounts/doctype/account/account.py:264
msgid "Please add the account to root level Company - {}"
msgstr ""
-#: erpnext/controllers/website_list_for_contact.py:302
+#: erpnext/controllers/website_list_for_contact.py:304
msgid "Please add {1} role to user {0}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:1827
+#: erpnext/controllers/stock_controller.py:1925
msgid "Please adjust the qty or edit {0} to proceed."
msgstr ""
@@ -37241,7 +37819,7 @@ msgstr ""
msgid "Please attach CSV file"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3244
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3242
msgid "Please cancel and amend the Payment Entry"
msgstr ""
@@ -37259,9 +37837,9 @@ msgstr ""
msgid "Please capitalize this asset before submitting."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:977
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:988
msgid "Please check Multi Currency option to allow accounts with other currency"
-msgstr "請檢查多幣種選項,允許帳戶與其他貨幣"
+msgstr ""
#: erpnext/accounts/deferred_revenue.py:543
msgid "Please check Process Deferred Accounting {0} and submit manually after resolving errors."
@@ -37271,7 +37849,7 @@ msgstr ""
msgid "Please check either with operations or FG Based Operating Cost."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:149
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:150
msgid "Please check the 'Activate Serial and Batch No for Item' checkbox in the {0} to make Serial and Batch Bundle for the item."
msgstr ""
@@ -37283,22 +37861,25 @@ msgstr ""
msgid "Please check your Plaid client ID and secret values"
msgstr ""
-#: erpnext/crm/doctype/appointment/appointment.py:98
#: erpnext/www/book_appointment/index.js:235
msgid "Please check your email to confirm the appointment"
msgstr ""
+#: erpnext/crm/doctype/appointment/appointment.py:184
+msgid "Please check your email to confirm the appointment."
+msgstr "請檢查您的電子郵件以確認預約."
+
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:374
msgid "Please click on 'Generate Schedule'"
-msgstr "請點擊“生成表”"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:386
msgid "Please click on 'Generate Schedule' to fetch Serial No added for Item {0}"
-msgstr "請點擊“生成表”來獲取序列號增加了對項目{0}"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:104
msgid "Please click on 'Generate Schedule' to get schedule"
-msgstr "請在“產生排程”點擊以得到排程表"
+msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.js:58
msgid "Please complete the job first before entering Pending Quantity"
@@ -37308,7 +37889,7 @@ msgstr ""
msgid "Please configure accounts for the Bank Entry rule."
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:637
+#: erpnext/selling/doctype/customer/customer.py:650
msgid "Please contact any of the following users to extend the credit limits for {0}: {1}"
msgstr ""
@@ -37316,15 +37897,15 @@ msgstr ""
msgid "Please contact any of the following users to {} this transaction."
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:630
+#: erpnext/selling/doctype/customer/customer.py:643
msgid "Please contact your administrator to extend the credit limits for {0}."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:384
+#: erpnext/accounts/doctype/account/account.py:415
msgid "Please convert the parent account in corresponding child company to a group account."
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:626
+#: erpnext/selling/doctype/quotation/quotation.py:641
msgid "Please create Customer from Lead {0}."
msgstr ""
@@ -37336,13 +37917,13 @@ msgstr ""
msgid "Please create a new Accounting Dimension if required."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:832
+#: erpnext/controllers/accounts_controller.py:837
msgid "Please create purchase from internal sale or delivery document itself"
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:464
msgid "Please create purchase receipt or purchase invoice for the item {0}"
-msgstr "請為項目{0}創建購買收據或購買發票"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:706
msgid "Please delete Product Bundle {0}, before merging {1} into {2}"
@@ -37356,19 +37937,19 @@ msgstr ""
msgid "Please do not book expense of multiple assets against one single Asset."
msgstr ""
-#: erpnext/controllers/item_variant.py:291
+#: erpnext/controllers/item_variant.py:354
msgid "Please do not create more than 500 items at a time"
msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:182
msgid "Please enable Applicable on Booking Actual Expenses"
-msgstr "請啟用適用於預訂實際費用"
+msgstr ""
#: erpnext/accounts/doctype/budget/budget.py:178
msgid "Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses"
-msgstr "請啟用適用於採購訂單並適用於預訂實際費用"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:321
+#: erpnext/stock/doctype/pick_list/pick_list.py:323
msgid "Please enable Use Old Serial / Batch Fields to make_bundle"
msgstr ""
@@ -37384,97 +37965,97 @@ msgstr ""
msgid "Please enable {} in {} to allow same item in multiple rows"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:381
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:391
msgid "Please ensure that the {0} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:389
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:399
msgid "Please ensure that the {0} account {1} is a Payable account. You can change the account type to Payable or select a different account."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1061
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1067
msgid "Please ensure {} account is a Balance Sheet account."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1071
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1077
msgid "Please ensure {} account {} is a Receivable account."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:862
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:883
msgid "Please enter Difference Account or set default Stock Adjustment Account for company {0}"
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:555
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1333
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1339
msgid "Please enter Account for Change Amount"
-msgstr "對於漲跌額請輸入帳號"
+msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.py:75
msgid "Please enter Approving Role or Approving User"
-msgstr "請輸入核准角色或審批用戶"
+msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:686
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:688
msgid "Please enter Batch No"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:963
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:965
msgid "Please enter Cost Center"
-msgstr "請輸入成本中心"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:423
msgid "Please enter Delivery Date"
-msgstr "請輸入交貨日期"
+msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person_tree.js:9
msgid "Please enter Employee Id of this sales person"
-msgstr "請輸入這個銷售人員的員工標識"
+msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:972
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:974
msgid "Please enter Expense Account"
-msgstr "請輸入您的費用科目"
+msgstr ""
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.js:84
#: erpnext/stock/doctype/stock_entry/stock_entry.js:99
msgid "Please enter Item Code to get Batch Number"
-msgstr "請輸入產品代碼來獲得批號"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:3059
+#: erpnext/public/js/controllers/transaction.js:3048
msgid "Please enter Item Code to get batch no"
-msgstr "請輸入產品編號,以取得批號"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:85
msgid "Please enter Item first"
-msgstr "請先輸入品項"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:224
msgid "Please enter Maintenance Details first"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:196
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:197
msgid "Please enter Planned Qty for Item {0} at row {1}"
-msgstr "請輸入列{1}的品項{0}的計劃數量"
+msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:44
msgid "Please enter Production Item first"
-msgstr "請先輸入生產項目"
+msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js:50
msgid "Please enter Purchase Receipt first"
-msgstr "請先輸入採購入庫單"
+msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:119
msgid "Please enter Receipt Document"
-msgstr "請輸入收據憑證"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1041
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1052
msgid "Please enter Reference date"
-msgstr "參考日期請輸入"
+msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:398
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:399
msgid "Please enter Root Type for account- {0}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:688
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:690
msgid "Please enter Serial No"
msgstr ""
@@ -37490,16 +38071,16 @@ msgstr ""
msgid "Please enter Warehouse and Date"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:660
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1329
-msgid "Please enter Write Off Account"
-msgstr "請輸入核銷科目"
-
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:670
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1335
+msgid "Please enter Write Off Account"
+msgstr ""
+
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:680
msgid "Please enter a valid Write Off Account"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:681
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:691
msgid "Please enter a valid Write Off Cost Center"
msgstr ""
@@ -37517,15 +38098,15 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.js:114
msgid "Please enter company name first"
-msgstr "請先輸入公司名稱"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:2996
+#: erpnext/controllers/accounts_controller.py:3001
msgid "Please enter default currency in Company Master"
-msgstr "請在公司主檔輸入預設貨幣"
+msgstr ""
#: erpnext/selling/doctype/sms_center/sms_center.py:174
msgid "Please enter message before sending"
-msgstr "在發送前,請填寫留言"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:431
msgid "Please enter mobile number first."
@@ -37533,21 +38114,21 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:45
msgid "Please enter parent cost center"
-msgstr "請輸入父成本中心"
+msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:186
+#: erpnext/public/js/utils/barcode_scanner.js:191
msgid "Please enter quantity for item {0}"
msgstr ""
#: erpnext/setup/doctype/employee/employee.py:294
msgid "Please enter relieving date."
-msgstr "請輸入解除日期。"
+msgstr ""
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.js:132
msgid "Please enter serial nos"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:214
+#: erpnext/setup/doctype/company/company.js:225
msgid "Please enter the company name to confirm"
msgstr ""
@@ -37559,13 +38140,13 @@ msgstr ""
msgid "Please enter the phone number first"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1248
+#: erpnext/controllers/buying_controller.py:1267
msgid "Please enter the {schedule_date}."
msgstr ""
#: erpnext/public/js/setup_wizard.js:192
msgid "Please enter valid Financial Year Start and End Dates"
-msgstr "請輸入有效的財政年度開始和結束日期"
+msgstr ""
#: erpnext/setup/doctype/employee/employee.py:338
msgid "Please enter {0}"
@@ -37573,16 +38154,20 @@ msgstr ""
#: erpnext/public/js/utils/party.js:344
msgid "Please enter {0} first"
-msgstr "請輸入{0}第一"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:452
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:453
msgid "Please fill the Material Requests table"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:345
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:346
msgid "Please fill the Sales Orders table"
msgstr ""
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:57
+msgid "Please fill up the Availability of Slots table to enable Appointment Scheduling."
+msgstr ""
+
#: erpnext/stock/doctype/shipment/shipment.js:277
msgid "Please first set Full Name, Email and Phone for the user"
msgstr ""
@@ -37611,15 +38196,15 @@ msgstr ""
msgid "Please make sure the employees above report to another Active employee."
msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:377
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:378
msgid "Please make sure the file you are using has 'Parent Account' column present in the header."
msgstr ""
-#: erpnext/setup/doctype/company/company.js:218
+#: erpnext/setup/doctype/company/company.js:229
msgid "Please make sure you really want to delete all the transactions for {0}. Your master data will remain as it is. This action cannot be undone."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:735
+#: erpnext/stock/doctype/item/item.js:741
msgid "Please mention 'Weight UOM' along with Weight."
msgstr ""
@@ -37630,7 +38215,7 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:232
msgid "Please mention no of visits required"
-msgstr "請註明無需訪問"
+msgstr ""
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:73
msgid "Please mention the Current and New BOM for replacement."
@@ -37638,7 +38223,7 @@ msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.py:120
msgid "Please pull items from Delivery Note"
-msgstr "請送貨單拉項目"
+msgstr ""
#: erpnext/stock/doctype/shipment/shipment.js:444
msgid "Please rectify and try again."
@@ -37673,20 +38258,20 @@ msgstr ""
msgid "Please select Template Type to download template"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:862
-#: erpnext/public/js/controllers/taxes_and_totals.js:825
+#: erpnext/controllers/taxes_and_totals.py:867
+#: erpnext/public/js/controllers/taxes_and_totals.js:840
msgid "Please select Apply Discount On"
-msgstr "請選擇適用的折扣"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:1768
msgid "Please select BOM against item {0}"
-msgstr "請選擇物料{0}的物料清單"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:191
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:192
msgid "Please select BOM for Item in Row {0}"
-msgstr "請行選擇BOM為項目{0}"
+msgstr ""
-#: erpnext/controllers/buying_controller.py:712
+#: erpnext/controllers/buying_controller.py:731
msgid "Please select BOM in BOM field for Item {item_code}."
msgstr ""
@@ -37696,31 +38281,31 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.js:13
msgid "Please select Category first"
-msgstr "請先選擇分類"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1501
#: erpnext/public/js/controllers/accounts.js:91
#: erpnext/public/js/controllers/accounts.js:142
msgid "Please select Charge Type first"
-msgstr "請先選擇付款類別"
+msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.js:496
msgid "Please select Company"
-msgstr "請選擇公司"
+msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:139
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:157
#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:75
msgid "Please select Company and Posting Date to getting entries"
-msgstr "請選擇公司和發布日期以獲取條目"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:751
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:752
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:28
msgid "Please select Company first"
-msgstr "請首先選擇公司"
+msgstr ""
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py:52
msgid "Please select Completion Date for Completed Asset Maintenance Log"
-msgstr "請選擇已完成資產維護日誌的完成日期"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:201
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js:84
@@ -37728,23 +38313,23 @@ msgstr "請選擇已完成資產維護日誌的完成日期"
msgid "Please select Customer first"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:536
+#: erpnext/setup/doctype/company/company.py:538
msgid "Please select Existing Company for creating Chart of Accounts"
-msgstr "請選擇現有的公司創建會計科目表"
+msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:211
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:281
msgid "Please select Finished Good Item for Service Item {0}"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:762
-#: erpnext/assets/doctype/asset/asset.js:777
+#: erpnext/assets/doctype/asset/asset.js:770
+#: erpnext/assets/doctype/asset/asset.js:785
msgid "Please select Item Code first"
msgstr ""
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py:55
msgid "Please select Maintenance Status as Completed or remove Completion Date"
-msgstr "請選擇維護狀態為已完成或刪除完成日期"
+msgstr ""
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js:52
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.js:31
@@ -37752,7 +38337,7 @@ msgstr "請選擇維護狀態為已完成或刪除完成日期"
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:63
#: erpnext/selling/report/address_and_contacts/address_and_contacts.js:27
msgid "Please select Party Type first"
-msgstr "請選擇黨第一型"
+msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:262
msgid "Please select Periodic Accounting Entry Difference Account"
@@ -37760,23 +38345,23 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:518
msgid "Please select Posting Date before selecting Party"
-msgstr "在選擇之前,甲方請選擇發布日期"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:752
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:753
msgid "Please select Posting Date first"
-msgstr "請選擇發布日期第一"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1292
msgid "Please select Price List"
-msgstr "請選擇價格表"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:1770
msgid "Please select Qty against item {0}"
-msgstr "請選擇項目{0}的數量"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:372
msgid "Please select Sample Retention Warehouse in Stock Settings first"
-msgstr "請先在庫存設置中選擇樣品保留倉庫"
+msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:451
msgid "Please select Serial/Batch Nos to reserve or change Reservation Based On to Qty."
@@ -37784,34 +38369,34 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:230
msgid "Please select Start Date and End Date for Item {0}"
-msgstr "請選擇項目{0}的開始日期和結束日期"
+msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:281
msgid "Please select Stock Asset Account"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1962
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2036
msgid "Please select Subcontracting Order instead of Purchase Order {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2852
+#: erpnext/controllers/accounts_controller.py:2857
msgid "Please select Unrealized Profit / Loss account or add default Unrealized Profit / Loss account account for company {0}"
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1547
msgid "Please select a BOM"
-msgstr "請選擇一個物料清單"
+msgstr ""
-#: erpnext/accounts/party.py:434
-#: erpnext/stock/doctype/pick_list/pick_list.py:1741
+#: erpnext/accounts/party.py:445
+#: erpnext/stock/doctype/pick_list/pick_list.py:1856
msgid "Please select a Company"
-msgstr "請選擇一個公司"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:268
-#: erpnext/manufacturing/doctype/bom/bom.js:730
+#: erpnext/manufacturing/doctype/bom/bom.js:734
#: erpnext/manufacturing/doctype/bom/bom.py:279
#: erpnext/public/js/controllers/accounts.js:274
-#: erpnext/public/js/controllers/transaction.js:3358
+#: erpnext/public/js/controllers/transaction.js:3347
msgid "Please select a Company first."
msgstr ""
@@ -37823,6 +38408,10 @@ msgstr ""
msgid "Please select a Delivery Note"
msgstr ""
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:81
+msgid "Please select a Holiday List to enable Appointment Scheduling."
+msgstr ""
+
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:153
msgid "Please select a Subcontracting Purchase Order."
msgstr ""
@@ -37835,7 +38424,7 @@ msgstr ""
msgid "Please select a Warehouse"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1673
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1686
msgid "Please select a Work Order first."
msgstr ""
@@ -37877,7 +38466,7 @@ msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:827
msgid "Please select a field to edit from numpad"
-msgstr "請選擇要從數字鍵盤編輯的字段"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:717
msgid "Please select a frequency for delivery schedule"
@@ -37900,15 +38489,23 @@ msgstr ""
msgid "Please select a valid Purchase Order that is configured for Subcontracting."
msgstr ""
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1355
+msgid "Please select a valid {0}"
+msgstr ""
+
#: erpnext/selling/doctype/quotation/quotation.js:245
msgid "Please select a value for {0} quotation_to {1}"
-msgstr "請選擇一個值{0} quotation_to {1}"
+msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:194
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:9
+msgid "Please select a warehouse first."
+msgstr ""
+
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:203
msgid "Please select an item code before setting the warehouse."
msgstr ""
-#: erpnext/controllers/item_variant.py:285
+#: erpnext/controllers/item_variant.py:348
msgid "Please select at least one attribute value"
msgstr ""
@@ -37916,7 +38513,7 @@ msgstr ""
msgid "Please select at least one filter: Item Code, Batch, or Serial No."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:571
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:572
msgid "Please select at least one item to update delivered quantity."
msgstr ""
@@ -37928,7 +38525,7 @@ msgstr ""
msgid "Please select at least one row with difference value"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:572
+#: erpnext/public/js/controllers/transaction.js:586
msgid "Please select at least one schedule."
msgstr ""
@@ -37940,14 +38537,14 @@ msgstr ""
msgid "Please select atleast one operation to create Job Card"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1721
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1732
msgid "Please select correct account"
-msgstr "請選擇正確的科目"
+msgstr ""
#: erpnext/accounts/report/share_balance/share_balance.py:14
#: erpnext/accounts/report/share_ledger/share_ledger.py:14
msgid "Please select date"
-msgstr "請選擇日期"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankClearanceSummary.tsx:39
msgid "Please select dates to view the bank clearance summary."
@@ -37957,13 +38554,13 @@ msgstr ""
msgid "Please select dates to view the bank reconciliation statement."
msgstr ""
-#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:30
+#: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:31
msgid "Please select either the Item or Warehouse or Warehouse Type filter to generate the report."
msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:228
msgid "Please select item code"
-msgstr "請選擇商品代碼"
+msgstr ""
#: erpnext/public/js/stock_reservation.js:212
#: erpnext/selling/doctype/sales_order/sales_order.js:427
@@ -37988,11 +38585,11 @@ msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:98
msgid "Please select the Company"
-msgstr "請選擇公司"
+msgstr ""
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.js:65
msgid "Please select the Multiple Tier Program type for more than one collection rules."
-msgstr "請為多個收集規則選擇多層程序類型。"
+msgstr ""
#: erpnext/stock/doctype/item/item.js:360
msgid "Please select the Warehouse first"
@@ -38005,7 +38602,7 @@ msgstr ""
#: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:43
#: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:58
msgid "Please select the document type first"
-msgstr "請先選擇文檔類型"
+msgstr ""
#: erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py:47
msgid "Please select the document type first."
@@ -38021,24 +38618,24 @@ msgstr ""
#: erpnext/setup/doctype/holiday_list/holiday_list.py:52
msgid "Please select weekly off day"
-msgstr "請選擇每週休息日"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1219
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:616
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:647
msgid "Please select {0} first"
-msgstr "請先選擇{0}"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:150
+#: erpnext/public/js/controllers/transaction.js:152
msgid "Please set 'Apply Additional Discount On'"
-msgstr "請設置“收取額外折扣”"
+msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:789
msgid "Please set 'Asset Depreciation Cost Center' in Company {0}"
-msgstr "請設置在公司的資產折舊成本中心“{0}"
+msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:787
msgid "Please set 'Gain/Loss Account on Asset Disposal' in Company {0}"
-msgstr "請公司制定“關於資產處置收益/損失科目”{0}"
+msgstr ""
#: erpnext/accounts/general_ledger.py:562
msgid "Please set '{0}' in Company: {1}"
@@ -38048,13 +38645,13 @@ msgstr ""
msgid "Please set Account"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1929
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1935
msgid "Please set Account for Change Amount"
msgstr ""
-#: erpnext/stock/__init__.py:88
+#: erpnext/stock/__init__.py:91
msgid "Please set Account in Warehouse {0} or Default Inventory Account in Company {1}"
-msgstr "請在倉庫{0}中設科目或在公司{1}中設置默認庫存科目"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py:333
msgid "Please set Accounting Dimension {} in {}"
@@ -38072,7 +38669,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:78
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:903
msgid "Please set Company"
-msgstr "請設公司"
+msgstr ""
#: erpnext/regional/united_arab_emirates/utils.py:26
msgid "Please set Customer Address to determine if the transaction is an export."
@@ -38080,7 +38677,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:751
msgid "Please set Depreciation related Accounts in Asset Category {0} or Company {1}"
-msgstr "請設置在資產類別{0}或公司折舊相關科目{1}"
+msgstr ""
#: erpnext/stock/doctype/shipment/shipment.js:176
msgid "Please set Email/Phone for the contact"
@@ -38100,7 +38697,7 @@ msgstr ""
msgid "Please set Fixed Asset Account in Asset Category {0}"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:590
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:600
msgid "Please set Fixed Asset Account in {} against {}."
msgstr ""
@@ -38108,10 +38705,6 @@ msgstr ""
msgid "Please set Parent Row No for item {0}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:356
-msgid "Please set Purchase Expense Contra Account in Company {0}"
-msgstr ""
-
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.js:24
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.js:35
msgid "Please set Root Type"
@@ -38122,9 +38715,9 @@ msgstr ""
msgid "Please set Tax ID for the customer '%s'"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:339
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:364
msgid "Please set Unrealized Exchange Gain/Loss Account in Company {0}"
-msgstr "請在公司{0}中設置未實現的匯兌收益/損失科目"
+msgstr ""
#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:56
msgid "Please set VAT Accounts in {0}"
@@ -38142,17 +38735,17 @@ msgstr ""
msgid "Please set a Cost Center for the Asset or set an Asset Depreciation Cost Center for the Company {}"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:736
+#: erpnext/projects/doctype/project/project.py:768
msgid "Please set a default Holiday List for Company {0}"
msgstr ""
#: erpnext/setup/doctype/employee/employee.py:389
msgid "Please set a default Holiday List for Employee {0} or Company {1}"
-msgstr "請設置一個默認的假日列表為員工{0}或公司{1}"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1146
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1156
msgid "Please set account in Warehouse {0}"
-msgstr "請在倉庫{0}中設置會計科目"
+msgstr ""
#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.js:68
msgid "Please set actual demand or sales forecast to generate Material Requirements Planning Report."
@@ -38163,7 +38756,7 @@ msgstr ""
msgid "Please set an Address on the Company '%s'"
msgstr ""
-#: erpnext/controllers/stock_controller.py:957
+#: erpnext/controllers/stock_controller.py:1056
msgid "Please set an Expense Account in the Items table"
msgstr ""
@@ -38179,27 +38772,27 @@ msgstr ""
msgid "Please set both the Tax ID and Fiscal Code on Company {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2475
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2481
msgid "Please set default Cash or Bank account in Mode of Payment {0}"
-msgstr "請設定現金或銀行帳戶的預設付款方式{0}"
+msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:94
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:197
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3091
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3097
msgid "Please set default Cash or Bank account in Mode of Payment {}"
msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:96
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:199
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3093
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3099
msgid "Please set default Cash or Bank account in Mode of Payments {}"
msgstr ""
-#: erpnext/accounts/utils.py:2528
+#: erpnext/accounts/utils.py:2522
msgid "Please set default Exchange Gain/Loss Account in Company {}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:386
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:389
msgid "Please set default Expense Account in Company {0}"
msgstr ""
@@ -38207,24 +38800,24 @@ msgstr ""
msgid "Please set default UOM in Stock Settings"
msgstr ""
-#: erpnext/controllers/stock_controller.py:816
+#: erpnext/controllers/stock_controller.py:835
msgid "Please set default cost of goods sold account in company {0} for booking rounding gain and loss during stock transfer"
msgstr ""
-#: erpnext/controllers/stock_controller.py:267
+#: erpnext/controllers/stock_controller.py:286
msgid "Please set default inventory account for item {0}, or their item group or brand."
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:279
#: erpnext/accounts/utils.py:1160
msgid "Please set default {0} in Company {1}"
-msgstr "請設置在默認情況下公司{0} {1}"
+msgstr ""
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py:114
msgid "Please set filter based on Item or Warehouse"
-msgstr "根據項目或倉庫請設置過濾器"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:2411
+#: erpnext/controllers/accounts_controller.py:2416
msgid "Please set one of the following:"
msgstr ""
@@ -38232,9 +38825,9 @@ msgstr ""
msgid "Please set opening number of booked depreciations"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2723
+#: erpnext/public/js/controllers/transaction.js:2712
msgid "Please set recurring after saving"
-msgstr "請設置保存後復發"
+msgstr ""
#: erpnext/regional/italy/utils.py:277
msgid "Please set the Customer Address"
@@ -38242,17 +38835,17 @@ msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:198
msgid "Please set the Default Cost Center in {0} company."
-msgstr "請在{0}公司中設置默認成本中心。"
+msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:680
msgid "Please set the Item Code first"
-msgstr "請先設定商品代碼"
+msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1736
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1749
msgid "Please set the Target Warehouse in the Job Card"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1740
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1753
msgid "Please set the WIP Warehouse in the Job Card"
msgstr ""
@@ -38267,7 +38860,7 @@ msgstr ""
#: erpnext/public/js/queries.js:67
#: erpnext/stock/report/reserved_stock/reserved_stock.py:26
msgid "Please set {0}"
-msgstr "請設置{0}"
+msgstr ""
#: erpnext/public/js/queries.js:34 erpnext/public/js/queries.js:49
#: erpnext/public/js/queries.js:82 erpnext/public/js/queries.js:103
@@ -38287,11 +38880,16 @@ msgstr ""
msgid "Please set {0} in BOM Creator {1}"
msgstr ""
+#: erpnext/controllers/buying_controller.py:345
+#: erpnext/controllers/stock_controller.py:926
+msgid "Please set {0} in Company {1} or in the Item Defaults of Item {2}"
+msgstr ""
+
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1160
msgid "Please set {0} in Company {1} to account for Exchange Gain / Loss"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:613
+#: erpnext/controllers/accounts_controller.py:618
msgid "Please set {0} to {1}, the same account that was used in the original invoice {2}."
msgstr ""
@@ -38305,18 +38903,18 @@ msgstr ""
#: erpnext/stock/get_item_details.py:333
msgid "Please specify Company"
-msgstr "請註明公司"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:120
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:430
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:428
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:636
msgid "Please specify Company to proceed"
-msgstr "請註明公司以處理"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:3227
+#: erpnext/controllers/accounts_controller.py:3232
#: erpnext/public/js/controllers/accounts.js:114
msgid "Please specify a valid Row ID for row {0} in table {1}"
-msgstr "請指定行{0}在表中的有效行ID {1}"
+msgstr ""
#: erpnext/public/js/queries.js:148
msgid "Please specify a {0} first."
@@ -38324,15 +38922,15 @@ msgstr ""
#: erpnext/controllers/item_variant.py:47
msgid "Please specify at least one attribute in the Attributes table"
-msgstr "請指定屬性表中的至少一個屬性"
+msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:626
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:628
msgid "Please specify either Quantity or Valuation Rate or both"
-msgstr "請註明無論是數量或估價率或兩者"
+msgstr ""
-#: erpnext/stock/doctype/item_attribute/item_attribute.py:95
+#: erpnext/stock/doctype/item_attribute/item_attribute.py:97
msgid "Please specify from/to range"
-msgstr "請從指定/至範圍"
+msgstr ""
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:275
msgid "Please try again in an hour."
@@ -38342,7 +38940,7 @@ msgstr ""
msgid "Please uncheck 'Show in Bucket View' to create Orders"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:237
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:240
msgid "Please update Repair Status."
msgstr ""
@@ -38350,7 +38948,7 @@ msgstr ""
#: erpnext/selling/page/point_of_sale/point_of_sale.js:6
#: erpnext/selling/workspace/selling/selling.json
msgid "Point of Sale"
-msgstr "銷售點"
+msgstr ""
#. Label of a Link in the Selling Workspace
#: erpnext/selling/workspace/selling/selling.json
@@ -38391,7 +38989,7 @@ msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:407
msgid "Possible Supplier"
-msgstr "可能的供應商"
+msgstr ""
#. Label of the post_description_key (Data) field in DocType 'Support Search
#. Source'
@@ -38434,7 +39032,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:122
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:201
msgid "Postal Expenses"
-msgstr "郵政費用"
+msgstr ""
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:900
msgid "Posted On"
@@ -38512,18 +39110,14 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:16
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:15
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:18
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1139
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:15
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1146
#: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:38
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html:7
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:65
#: 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:697
-#: erpnext/accounts/report/gross_profit/gross_profit.py:300
+#: erpnext/accounts/report/gross_profit/gross_profit.py:302
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:181
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:200
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:143
@@ -38556,17 +39150,17 @@ msgstr ""
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:104
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:86
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:25
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:150
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:155
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:155
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:164
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:36
#: erpnext/templates/form_grid/bank_reconciliation_grid.html:6
msgid "Posting Date"
-msgstr "發布日期"
+msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:269
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:143
msgid "Posting Date cannot be future date"
-msgstr "發布日期不能是未來的日期"
+msgstr ""
#. Label of the exchange_gain_loss_posting_date (Select) field in DocType
#. 'Accounts Settings'
@@ -38574,16 +39168,18 @@ msgstr "發布日期不能是未來的日期"
msgid "Posting Date inheritance for exchange gain / loss"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:1153
+#: erpnext/public/js/controllers/transaction.js:1139
msgid "Posting Date will change to today's date as Edit Posting Date and Time is unchecked. Are you sure want to proceed?"
msgstr ""
#. Label of the posting_datetime (Datetime) field in DocType 'Serial and Batch
#. Bundle'
+#. Label of the posting_datetime (Datetime) field in DocType 'Serial and Batch
#. Entry'
#. Label of the posting_datetime (Datetime) field in DocType 'Stock Closing
#. Balance'
#. Label of the posting_datetime (Datetime) field in DocType 'Stock Ledger
+#. Entry'
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
#: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json
#: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json
@@ -38614,7 +39210,7 @@ msgstr ""
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/accounts/report/gross_profit/gross_profit.py:306
+#: erpnext/accounts/report/gross_profit/gross_profit.py:308
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -38628,16 +39224,16 @@ msgstr ""
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:105
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:63
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:26
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:151
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:160
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:156
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:169
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:41
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Posting Time"
-msgstr "登錄時間"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2847
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2923
msgid "Posting date and posting time is mandatory"
-msgstr "登錄日期和登錄時間是必需的"
+msgstr ""
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:901
msgid "Posting date does not match the selected transaction"
@@ -38653,7 +39249,7 @@ msgstr ""
#: erpnext/controllers/sales_and_purchase_return.py:66
msgid "Posting timestamp must be after {0}"
-msgstr "登錄時間戳記必須晚於{0}"
+msgstr ""
#. Description of a DocType
#: erpnext/crm/doctype/opportunity/opportunity.json
@@ -38717,13 +39313,8 @@ msgstr ""
msgid "Pre-filled on payment entries for this customer. Must be a company account."
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:307
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:310
msgid "Preference"
-msgstr "偏愛"
-
-#: banking/src/components/features/Settings/Preferences.tsx:43
-#: banking/src/components/features/Settings/SettingsDialogContent.tsx:27
-msgid "Preferences"
msgstr ""
#: banking/src/components/features/Settings/Preferences.tsx:33
@@ -38763,6 +39354,7 @@ msgstr ""
#. Label of the prevent_pos (Check) field in DocType 'Supplier Scorecard
#. Scoring Standing'
+#. Label of the prevent_pos (Check) field in DocType 'Supplier Scorecard
#. Standing'
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
#: erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
@@ -38773,6 +39365,7 @@ msgstr ""
#. Label of the prevent_rfqs (Check) field in DocType 'Supplier Scorecard'
#. Label of the prevent_rfqs (Check) field in DocType 'Supplier Scorecard
#. Scoring Standing'
+#. Label of the prevent_rfqs (Check) field in DocType 'Supplier Scorecard
#. Standing'
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
@@ -38827,10 +39420,10 @@ msgstr ""
msgid "Preview Transactions"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:182
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:191
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:142
msgid "Previous Financial Year is not closed"
-msgstr "上一財政年度未關閉"
+msgstr ""
#: banking/src/pages/BankStatementImporter.tsx:242
msgid "Previous Imports"
@@ -38846,7 +39439,7 @@ msgstr ""
msgid "Previous Work Experience"
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:100
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:112
msgid "Previous Year is not closed, please close it first"
msgstr ""
@@ -38856,7 +39449,7 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:230
#: erpnext/selling/page/point_of_sale/pos_item_selector.js:116
msgid "Price"
-msgstr "價格"
+msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:244
msgid "Price ({0})"
@@ -38926,7 +39519,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/buying.json erpnext/workspace_sidebar/selling.json
msgid "Price List"
-msgstr "價格表"
+msgstr ""
#. Label of the price_list_and_currency_section (Section Break) field in
#. DocType 'POS Profile'
@@ -38937,7 +39530,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/price_list_country/price_list_country.json
msgid "Price List Country"
-msgstr "價目表國家"
+msgstr ""
#. Label of the price_list_currency (Link) field in DocType 'POS Invoice'
#. Label of the price_list_currency (Link) field in DocType 'Purchase Invoice'
@@ -38967,7 +39560,7 @@ msgstr ""
#: erpnext/stock/get_item_details.py:1345
msgid "Price List Currency not selected"
-msgstr "尚未選擇價格表之貨幣"
+msgstr ""
#. Label of the price_list_defaults_section (Section Break) field in DocType
#. 'Stock Settings'
@@ -39010,13 +39603,19 @@ msgstr ""
#. Label of the price_list_rate (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Sales Invoice
+#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Purchase Order
+#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Quotation Item'
#. Label of the price_list_rate (Currency) field in DocType 'Sales Order Item'
#. Label of the price_list_rate (Currency) field in DocType 'Delivery Note
+#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Material Request
+#. Item'
#. Label of the price_list_rate (Currency) field in DocType 'Purchase Receipt
+#. Item'
#. Option for the 'Update Price List based on' (Select) field in DocType 'Stock
#. Settings'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
@@ -39038,12 +39637,18 @@ msgstr ""
#. Label of the base_price_list_rate (Currency) field in DocType 'Purchase
#. Invoice Item'
#. Label of the base_price_list_rate (Currency) field in DocType 'Sales Invoice
+#. Item'
+#. Label of the base_price_list_rate (Currency) field in DocType 'Purchase
#. Order Item'
#. Label of the base_price_list_rate (Currency) field in DocType 'Supplier
#. Quotation Item'
#. Label of the base_price_list_rate (Currency) field in DocType 'Quotation
+#. Item'
#. Label of the base_price_list_rate (Currency) field in DocType 'Sales Order
+#. Item'
#. Label of the base_price_list_rate (Currency) field in DocType 'Delivery Note
+#. Item'
+#. Label of the base_price_list_rate (Currency) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -39059,11 +39664,11 @@ msgstr ""
#: erpnext/stock/doctype/price_list/price_list.py:33
msgid "Price List must be applicable for Buying or Selling"
-msgstr "價格表必須適用於購買或出售"
+msgstr ""
#: erpnext/stock/doctype/price_list/price_list.py:84
msgid "Price List {0} is disabled or does not exist"
-msgstr "價格表{0}禁用或不存在"
+msgstr ""
#. Label of the price_not_uom_dependent (Check) field in DocType 'Price List'
#: erpnext/stock/doctype/price_list/price_list.json
@@ -39111,7 +39716,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item/item_dashboard.py:19
msgid "Pricing"
-msgstr "價錢"
+msgstr ""
#. Label of the pricing_rule (Link) field in DocType 'Coupon Code'
#. Name of a DocType
@@ -39128,7 +39733,7 @@ msgstr "價錢"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/selling.json
msgid "Pricing Rule"
-msgstr "定價規則"
+msgstr ""
#. Name of a DocType
#. Label of the brands (Table) field in DocType 'Promotional Scheme'
@@ -39193,25 +39798,35 @@ msgstr ""
#. Invoice'
#. Label of the pricing_rules (Small Text) field in DocType 'POS Invoice Item'
#. Label of the pricing_rule_details (Section Break) field in DocType 'Purchase
+#. Invoice'
#. Label of the pricing_rules (Small Text) field in DocType 'Purchase Invoice
#. Item'
#. Label of the pricing_rule_details (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the pricing_rules (Small Text) field in DocType 'Sales Invoice
+#. Item'
#. Label of the section_break_48 (Section Break) field in DocType 'Purchase
#. Order'
#. Label of the pricing_rules (Small Text) field in DocType 'Purchase Order
+#. Item'
#. Label of the pricing_rule_details (Section Break) field in DocType 'Supplier
#. Quotation'
#. Label of the pricing_rules (Small Text) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the pricing_rule_details (Section Break) field in DocType
#. 'Quotation'
#. Label of the pricing_rules (Small Text) field in DocType 'Quotation Item'
+#. Label of the pricing_rule_details (Section Break) field in DocType 'Sales
+#. Order'
#. Label of the pricing_rules (Small Text) field in DocType 'Sales Order Item'
#. Label of the pricing_rule_details (Section Break) field in DocType 'Delivery
#. Note'
#. Label of the pricing_rules (Small Text) field in DocType 'Delivery Note
+#. Item'
+#. Label of the pricing_rule_details (Section Break) field in DocType 'Purchase
#. Receipt'
#. Label of the pricing_rules (Small Text) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -39239,7 +39854,7 @@ msgstr ""
#: erpnext/public/js/utils/contact_address_quick_entry.js:73
msgid "Primary Address Details"
-msgstr "主要地址詳情"
+msgstr ""
#. Label of the primary_address (Text Editor) field in DocType 'Supplier'
#: erpnext/buying/doctype/supplier/supplier.json
@@ -39257,7 +39872,7 @@ msgstr ""
#: erpnext/public/js/utils/contact_address_quick_entry.js:41
msgid "Primary Contact Details"
-msgstr "主要聯繫方式"
+msgstr ""
#. Label of the primary_email (Read Only) field in DocType 'Process Statement
#. Of Accounts Customer'
@@ -39326,7 +39941,7 @@ msgstr ""
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.js:77
msgid "Print settings updated in respective print format"
-msgstr "打印設置在相應的打印格式更新"
+msgstr ""
#: erpnext/setup/install.py:115
msgid "Print taxes with zero amount"
@@ -39355,9 +39970,12 @@ msgstr ""
#. Label of the printing_settings (Section Break) field in DocType 'Request for
#. Quotation'
#. Label of the printing_settings (Section Break) field in DocType 'Supplier
+#. Quotation'
#. Label of the printing_settings (Section Break) field in DocType 'Purchase
#. Receipt'
#. Label of the printing_settings (Section Break) field in DocType 'Stock
+#. Entry'
+#. Label of the printing_settings_section (Section Break) field in DocType
#. 'Subcontracting Order'
#. Label of the printing_settings (Section Break) field in DocType
#. 'Subcontracting Receipt'
@@ -39383,11 +40001,11 @@ msgstr ""
msgid "Priority cannot be lesser than 1."
msgstr ""
-#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:764
+#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:767
msgid "Priority has been changed to {0}."
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:161
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:179
msgid "Priority is mandatory"
msgstr ""
@@ -39467,6 +40085,7 @@ msgstr ""
#. Label of the process_loss_qty (Float) field in DocType 'Stock Entry'
#. Label of the process_loss_qty (Float) field in DocType 'Subcontracting
#. Inward Order Item'
+#. Label of the process_loss_qty (Float) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/manufacturing/doctype/bom/bom.json
#: erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
@@ -39561,7 +40180,7 @@ msgstr ""
msgid "Process in Single Transaction"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1518
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1531
msgid "Process loss quantity cannot be negative."
msgstr ""
@@ -39591,7 +40210,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier/supplier_dashboard.py:10
msgid "Procurement"
-msgstr "採購"
+msgstr ""
#. Name of a report
#. Label of a Link in the Buying Workspace
@@ -39622,6 +40241,7 @@ msgstr ""
#. Label of the produced_qty (Float) field in DocType 'Batch'
#. Label of the produced_qty (Float) field in DocType 'Subcontracting Inward
#. Order Item'
+#. Label of the produced_qty (Float) field in DocType 'Subcontracting Inward
#. Order Secondary Item'
#: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
@@ -39632,7 +40252,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_secondary_item/subcontracting_inward_order_secondary_item.json
msgid "Produced Qty"
-msgstr "生產數量"
+msgstr ""
#. Label of a chart in the Manufacturing Workspace
#. Label of the produced_qty (Float) field in DocType 'Sales Order Item'
@@ -39640,7 +40260,7 @@ msgstr "生產數量"
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
msgid "Produced Quantity"
-msgstr "生產的產品數量"
+msgstr ""
#. Option for the 'Price or Product Discount' (Select) field in DocType
#. 'Pricing Rule'
@@ -39667,7 +40287,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/selling.json
msgid "Product Bundle"
-msgstr "產品包"
+msgstr ""
#. Name of a report
#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.json
@@ -39697,7 +40317,7 @@ msgstr ""
#: erpnext/selling/doctype/product_bundle_item/product_bundle_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Product Bundle Item"
-msgstr "產品包項目"
+msgstr ""
#: erpnext/stock/report/item_where_used/item_where_used.py:303
msgid "Product Bundle Parent"
@@ -39733,9 +40353,9 @@ msgstr ""
#. Label of a Card Break in the Manufacturing Workspace
#: erpnext/manufacturing/doctype/workstation/workstation.json
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
-#: erpnext/setup/doctype/company/company.py:476
+#: erpnext/setup/doctype/company/company.py:478
msgid "Production"
-msgstr "生產"
+msgstr ""
#. Name of a report
#. Label of a Link in the Manufacturing Workspace
@@ -39744,7 +40364,7 @@ msgstr "生產"
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/workspace_sidebar/manufacturing.json
msgid "Production Analytics"
-msgstr "生產Analytics(分析)"
+msgstr ""
#. Label of the production_capacity (Int) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -39763,10 +40383,11 @@ msgstr ""
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.js:51
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:208
msgid "Production Item"
-msgstr "生產項目"
+msgstr ""
#. Label of the production_item_info_section (Section Break) field in DocType
#. 'BOM'
+#. Label of the production_item_info_section (Section Break) field in DocType
#. 'Work Order'
#: erpnext/manufacturing/doctype/bom/bom.json
#: erpnext/manufacturing/doctype/work_order/work_order.json
@@ -39795,9 +40416,9 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/workspace_sidebar/manufacturing.json
msgid "Production Plan"
-msgstr "生產計劃"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:156
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:157
msgid "Production Plan Already Submitted"
msgstr ""
@@ -39812,7 +40433,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid "Production Plan Item"
-msgstr "生產計劃項目"
+msgstr ""
#. Label of the prod_plan_references (Table) field in DocType 'Production Plan'
#. Name of a DocType
@@ -39824,7 +40445,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
msgid "Production Plan Material Request"
-msgstr "生產計劃申請材料"
+msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/production_plan_material_request_warehouse/production_plan_material_request_warehouse.json
@@ -39839,13 +40460,14 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
msgid "Production Plan Sales Order"
-msgstr "生產計劃銷售訂單"
+msgstr ""
#. Label of the production_plan_sub_assembly_item (Data) field in DocType
#. 'Purchase Order Item'
#. Name of a DocType
#. Label of the production_plan_sub_assembly_item (Data) field in DocType 'Work
#. Order'
+#. Label of the production_plan_sub_assembly_item (Data) field in DocType
#. 'Subcontracting Order Item'
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
@@ -39869,16 +40491,16 @@ msgstr ""
msgid "Production Planning Report"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:39
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:42
msgid "Products"
-msgstr "產品"
+msgstr ""
#. Label of the accounts_module (Column Break) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
msgid "Profit & Loss"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:117
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:125
msgid "Profit This Year"
msgstr ""
@@ -39892,10 +40514,10 @@ msgstr ""
#: erpnext/accounts/doctype/process_period_closing_voucher_detail/process_period_closing_voucher_detail.json
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/accounts/workspace/invoicing/invoicing.json
-#: erpnext/public/js/financial_statements.js:343
+#: erpnext/public/js/financial_statements.js:363
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Profit and Loss"
-msgstr "損益"
+msgstr ""
#. Option for the 'Report Type' (Select) field in DocType 'Financial Report
#. Template'
@@ -39905,7 +40527,11 @@ msgstr "損益"
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.json
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
msgid "Profit and Loss Statement"
-msgstr "損益表"
+msgstr ""
+
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:215
+msgid "Profit and Loss Statement requires {0} to be synced to DuckDB"
+msgstr ""
#. Label of the heading_cppb (Heading) field in DocType 'Bisect Accounting
#. Statements'
@@ -39915,10 +40541,10 @@ msgstr "損益表"
msgid "Profit and Loss Summary"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:141
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:142
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:149
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:150
msgid "Profit for the year"
-msgstr "年度利潤"
+msgstr ""
#. Label of a Card Break in the Financial Reports Workspace
#. Label of a Workspace Sidebar Item
@@ -39936,7 +40562,7 @@ msgstr ""
msgid "Profitability Analysis"
msgstr ""
-#: erpnext/projects/doctype/task/task.py:156
+#: erpnext/projects/doctype/task/task.py:157
#, python-format
msgid "Progress % for a task cannot be more than 100."
msgstr ""
@@ -39945,13 +40571,13 @@ msgstr ""
msgid "Progress (%)"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:375
+#: erpnext/projects/doctype/project/project.py:379
msgid "Project Collaboration Invitation"
-msgstr "項目合作邀請"
+msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:38
msgid "Project Id"
-msgstr "項目編號"
+msgstr ""
#: erpnext/public/js/setup_wizard.js:95
msgid "Project Management"
@@ -39970,7 +40596,7 @@ msgstr ""
#: erpnext/projects/report/project_summary/project_summary.py:54
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:42
msgid "Project Name"
-msgstr "專案名稱"
+msgstr ""
#: erpnext/templates/pages/projects.html:112
msgid "Project Progress:"
@@ -39978,13 +40604,13 @@ msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:47
msgid "Project Start Date"
-msgstr "專案開始日期"
+msgstr ""
#. Label of the project_status (Text) field in DocType 'Project User'
#: erpnext/projects/doctype/project_user/project_user.json
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:43
msgid "Project Status"
-msgstr "項目狀態"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
@@ -39993,7 +40619,7 @@ msgstr "項目狀態"
msgid "Project Summary"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:674
+#: erpnext/projects/doctype/project/project.py:706
msgid "Project Summary for {0}"
msgstr ""
@@ -40024,7 +40650,7 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/projects.json
msgid "Project Type"
-msgstr "專案類型"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Projects Workspace
@@ -40033,28 +40659,28 @@ msgstr "專案類型"
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/projects.json
msgid "Project Update"
-msgstr "項目更新"
+msgstr ""
#: erpnext/config/projects.py:44
msgid "Project Update."
-msgstr "項目更新。"
+msgstr ""
#. Name of a DocType
#: erpnext/projects/doctype/project_user/project_user.json
msgid "Project User"
-msgstr "項目用戶"
+msgstr ""
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:46
msgid "Project Value"
-msgstr "專案值"
+msgstr ""
#: erpnext/config/projects.py:20
msgid "Project activity / task."
-msgstr "專案活動/任務。"
+msgstr ""
#: erpnext/config/projects.py:13
msgid "Project master."
-msgstr "專案主持。"
+msgstr ""
#. Description of the 'Users' (Table) field in DocType 'Project'
#: erpnext/projects/doctype/project/project.json
@@ -40066,16 +40692,16 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/projects.json
msgid "Project wise Stock Tracking"
-msgstr "項目明智的庫存跟踪"
+msgstr ""
#. Name of a report
#: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.json
msgid "Project wise Stock Tracking "
msgstr ""
-#: erpnext/controllers/trends.py:435
+#: erpnext/controllers/trends.py:538
msgid "Project-wise data is not available for Quotation"
-msgstr "項目明智的數據不適用於報價"
+msgstr ""
#. Label of the projected_on_hand (Float) field in DocType 'Material Request
#. Item'
@@ -40101,11 +40727,12 @@ msgstr ""
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:51
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:73
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:204
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:212
#: erpnext/templates/emails/reorder_item.html:12
msgid "Projected Qty"
-msgstr "預計數量"
+msgstr ""
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:130
msgid "Projected Quantity"
@@ -40115,30 +40742,26 @@ msgstr ""
msgid "Projected Quantity Formula"
msgstr ""
-#: erpnext/stock/page/stock_balance/stock_balance.js:51
-msgid "Projected qty"
-msgstr ""
-
#. Label of a Desktop Icon
#. Name of a Workspace
#. Label of a Card Break in the Projects Workspace
#. Title of a Workspace Sidebar
#: erpnext/config/projects.py:7 erpnext/desktop_icon/projects.json
-#: erpnext/projects/doctype/project/project.py:452
+#: erpnext/projects/doctype/project/project.py:484
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/selling/doctype/customer/customer_dashboard.py:26
#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:28
#: erpnext/setup/doctype/company/company_dashboard.py:25
#: erpnext/workspace_sidebar/projects.json
msgid "Projects"
-msgstr "專案"
+msgstr ""
#. Name of a role
#: erpnext/projects/doctype/project/project.json
#: erpnext/projects/doctype/project_type/project_type.json
#: erpnext/projects/doctype/task_type/task_type.json
msgid "Projects Manager"
-msgstr "項目經理"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Projects Workspace
@@ -40147,7 +40770,7 @@ msgstr "項目經理"
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Projects Settings"
-msgstr "項目設置"
+msgstr ""
#. Title of the Module Onboarding 'Projects Onboarding'
#: erpnext/projects/module_onboarding/projects_onboarding/projects_onboarding.json
@@ -40165,7 +40788,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/setup/doctype/company/company.json
msgid "Projects User"
-msgstr "項目用戶"
+msgstr ""
#. Option for the 'Coupon Type' (Select) field in DocType 'Coupon Code'
#: erpnext/accounts/doctype/coupon_code/coupon_code.json
@@ -40211,14 +40834,14 @@ msgstr ""
msgid "Prompt Qty"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:264
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:267
msgid "Proposal Writing"
-msgstr "提案寫作"
+msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:7
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:443
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:446
msgid "Proposal/Price Quote"
-msgstr "提案/報價"
+msgstr ""
#. Label of the prorate (Check) field in DocType 'Subscription Settings'
#: erpnext/accounts/doctype/subscription_settings/subscription_settings.json
@@ -40257,7 +40880,7 @@ msgid "Prospect {0} already exists"
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:1
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:437
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:440
msgid "Prospecting"
msgstr ""
@@ -40267,7 +40890,7 @@ msgstr ""
#: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.json
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Prospects Engaged But Not Converted"
-msgstr "展望未成熟"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:198
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:797
@@ -40285,7 +40908,7 @@ msgstr ""
msgid "Providing"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:575
+#: erpnext/setup/doctype/company/company.py:577
msgid "Provisional Account"
msgstr ""
@@ -40295,11 +40918,11 @@ msgstr ""
msgid "Provisional Expense Account"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:159
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:160
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:227
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:168
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:169
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:236
msgid "Provisional Profit / Loss (Credit)"
-msgstr "臨時溢利/(虧損)(信用)"
+msgstr ""
#. Description of the 'Default Provisional Account (Service)' (Link) field in
#. DocType 'Item Default'
@@ -40357,14 +40980,14 @@ msgstr ""
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
#: erpnext/projects/doctype/project/project_dashboard.py:16
-#: erpnext/setup/doctype/company/company.py:464 erpnext/setup/install.py:428
+#: erpnext/setup/doctype/company/company.py:466 erpnext/setup/install.py:428
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item/item_list.js:30
#: erpnext/stock/doctype/item_lead_time/item_lead_time.json
#: erpnext/stock/doctype/item_reorder/item_reorder.json
#: erpnext/stock/doctype/material_request/material_request.json
msgid "Purchase"
-msgstr "採購"
+msgstr ""
#. Label of the purchase_amount (Currency) field in DocType 'Loyalty Point
#. Entry'
@@ -40373,7 +40996,7 @@ msgstr "採購"
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:160
#: erpnext/assets/doctype/asset/asset.json
msgid "Purchase Amount"
-msgstr "購買金額"
+msgstr ""
#. Name of a report
#. Label of a Link in the Buying Workspace
@@ -40382,14 +41005,14 @@ msgstr "購買金額"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Purchase Analytics"
-msgstr "採購分析"
+msgstr ""
#. Label of the purchase_date (Date) field in DocType 'Asset'
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:211
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:492
msgid "Purchase Date"
-msgstr "購買日期"
+msgstr ""
#. Label of the purchase_defaults (Section Break) field in DocType 'Item
#. Default'
@@ -40428,8 +41051,8 @@ msgstr ""
msgid "Purchase Expense Contra Account"
msgstr ""
-#: erpnext/controllers/buying_controller.py:366
-#: erpnext/controllers/buying_controller.py:380
+#: erpnext/controllers/buying_controller.py:385
+#: erpnext/controllers/buying_controller.py:399
msgid "Purchase Expense for Item {0}"
msgstr ""
@@ -40446,6 +41069,7 @@ msgstr ""
#. Option for the 'Transaction' (Select) field in DocType 'Authorization Rule'
#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Item'
+#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Purchase Receipt'
#. Label of the purchase_invoice (Link) field in DocType 'Purchase Receipt
#. Item'
@@ -40479,23 +41103,24 @@ msgstr ""
#: erpnext/workspace_sidebar/buying.json
#: erpnext/workspace_sidebar/invoicing.json
msgid "Purchase Invoice"
-msgstr "採購發票"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
msgid "Purchase Invoice Advance"
-msgstr "購買發票提前"
+msgstr ""
#. Name of a DocType
#. Label of the purchase_invoice_item (Data) field in DocType 'Purchase Invoice
#. Item'
#. Label of the purchase_invoice_item (Data) field in DocType 'Asset'
#. Label of the purchase_invoice_item (Data) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Purchase Invoice Item"
-msgstr "採購發票項目"
+msgstr ""
#. Label of the purchase_invoice_settings_section (Section Break) field in
#. DocType 'Buying Settings'
@@ -40513,18 +41138,21 @@ msgstr ""
#: erpnext/workspace_sidebar/buying.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Purchase Invoice Trends"
-msgstr "購買發票趨勢"
+msgstr ""
+
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:331
+msgid "Purchase Invoice can be held after submitting."
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:340
msgid "Purchase Invoice cannot be made against an existing asset {0}"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:444
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:458
-msgid "Purchase Invoice {0} is already submitted"
-msgstr "採購發票{0}已經提交"
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1943
+msgid "Purchase Invoice without any outstanding amount cannot be held."
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1973
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:2033
msgid "Purchase Invoices"
msgstr ""
@@ -40565,7 +41193,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:981
+#: erpnext/controllers/buying_controller.py:1000
#: 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
@@ -40574,7 +41202,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
-#: erpnext/stock/doctype/material_request/material_request.js:196
+#: erpnext/stock/doctype/material_request/material_request.js:199
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:217
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -40583,7 +41211,7 @@ msgstr ""
#: erpnext/workspace_sidebar/buying.json
#: erpnext/workspace_sidebar/subcontracting.json
msgid "Purchase Order"
-msgstr "採購訂單"
+msgstr ""
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:103
msgid "Purchase Order Amount"
@@ -40614,10 +41242,14 @@ msgstr ""
#. Name of a DocType
#. Label of the purchase_order_item (Data) field in DocType 'Sales Order Item'
#. Label of the purchase_order_item (Data) field in DocType 'Delivery Note
+#. Item'
#. Label of the purchase_order_item (Data) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the purchase_order_item (Data) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the purchase_order_item (Data) field in DocType 'Subcontracting
#. Order Service Item'
+#. Label of the purchase_order_item (Data) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -40629,12 +41261,12 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_service_item/subcontracting_order_service_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Purchase Order Item"
-msgstr "採購訂單項目"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
msgid "Purchase Order Item Supplied"
-msgstr "採購訂單項目供應商"
+msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1020
msgid "Purchase Order Item reference is missing in Subcontracting Receipt {0}"
@@ -40642,18 +41274,18 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/templates/default.html:186
msgid "Purchase Order Items not received on time"
-msgstr "未按時收到採購訂單項目"
+msgstr ""
#. Label of the pricing_rules (Table) field in DocType 'Purchase Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
msgid "Purchase Order Pricing Rule"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:630
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:640
msgid "Purchase Order Required"
-msgstr "採購訂單為必要項"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:625
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:635
msgid "Purchase Order Required for item {}"
msgstr ""
@@ -40665,7 +41297,7 @@ msgstr ""
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Purchase Order Trends"
-msgstr "採購訂單趨勢"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1632
msgid "Purchase Order already created for all Sales Order items"
@@ -40673,17 +41305,17 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:338
msgid "Purchase Order number required for Item {0}"
-msgstr "所需物品{0}的採購訂單號"
+msgstr ""
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1363
msgid "Purchase Order {0} created"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:690
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:700
msgid "Purchase Order {0} is not submitted"
-msgstr "採購訂單{0}未提交"
+msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:939
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:940
msgid "Purchase Orders"
msgstr ""
@@ -40698,9 +41330,9 @@ msgstr ""
msgid "Purchase Orders Items Overdue"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:288
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:289
msgid "Purchase Orders are not allowed for {0} due to a scorecard standing of {1}."
-msgstr "由於{1}的記分卡,{0}不允許採購訂單。"
+msgstr ""
#. Label of the purchase_orders_to_bill (Check) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
@@ -40713,13 +41345,13 @@ msgstr ""
msgid "Purchase Orders to Receive"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2043
+#: erpnext/controllers/accounts_controller.py:2048
msgid "Purchase Orders {0} are un-linked"
msgstr ""
#: erpnext/stock/report/item_prices/item_prices.py:59
msgid "Purchase Price List"
-msgstr "採購價格表"
+msgstr ""
#. Label of the purchase_receipt (Link) field in DocType 'Purchase Invoice
#. Item'
@@ -40727,6 +41359,7 @@ msgstr "採購價格表"
#. Option for the 'Transaction' (Select) field in DocType 'Authorization Rule'
#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Item'
+#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Purchase Receipt'
#. Name of a DocType
#. Option for the 'Reference Type' (Select) field in DocType 'Quality
@@ -40737,8 +41370,8 @@ msgstr "採購價格表"
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.js:62
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:181
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:647
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:657
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:645
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:655
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js:49
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:244
@@ -40760,7 +41393,7 @@ msgstr "採購價格表"
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:68
#: erpnext/workspace_sidebar/stock.json
msgid "Purchase Receipt"
-msgstr "採購入庫單"
+msgstr ""
#. Description of the 'Auto create Purchase Receipt' (Check) field in DocType
#. 'Buying Settings'
@@ -40780,28 +41413,29 @@ msgstr ""
#. Item'
#. Name of a DocType
#. Label of the purchase_receipt_item (Data) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Purchase Receipt Item"
-msgstr "採購入庫項目"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json
msgid "Purchase Receipt Item Supplied"
-msgstr "採購入庫項目供應商"
+msgstr ""
#. Label of the purchase_receipt_no (Link) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "Purchase Receipt No"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:652
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:662
msgid "Purchase Receipt Required"
-msgstr "需要採購入庫單"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:647
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:657
msgid "Purchase Receipt Required for item {}"
msgstr ""
@@ -40814,7 +41448,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Purchase Receipt Trends"
-msgstr "採購入庫趨勢"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/buying.json
@@ -40829,16 +41463,16 @@ msgstr ""
msgid "Purchase Receipt {0} created."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:697
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:707
msgid "Purchase Receipt {0} is not submitted"
-msgstr "採購入庫單{0}未提交"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/report/purchase_register/purchase_register.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Purchase Register"
-msgstr "購買註冊"
+msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:253
msgid "Purchase Return"
@@ -40847,10 +41481,10 @@ msgstr ""
#. Label of the purchase_tax_template (Link) field in DocType 'Tax Rule'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
-#: erpnext/setup/doctype/company/company.js:145
+#: erpnext/setup/doctype/company/company.js:156
#: erpnext/workspace_sidebar/taxes.json
msgid "Purchase Tax Template"
-msgstr "購置稅模板"
+msgstr ""
#. Label of the purchase_tax_withholding_category (Link) field in DocType
#. 'Item'
@@ -40872,7 +41506,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Purchase Taxes and Charges"
-msgstr "購置稅和費"
+msgstr ""
#. Label of the purchase_taxes_and_charges_template (Link) field in DocType
#. 'Payment Entry'
@@ -40894,7 +41528,7 @@ msgstr "購置稅和費"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Purchase Taxes and Charges Template"
-msgstr "採購稅負和費用模板"
+msgstr ""
#. Label of the purchase_time (Int) field in DocType 'Item Lead Time'
#. Label of the purchase_lead_time_tab (Tab Break) field in DocType 'Item Lead
@@ -40903,21 +41537,21 @@ msgstr "採購稅負和費用模板"
msgid "Purchase Time"
msgstr ""
-#: erpnext/buying/report/purchase_order_trends/purchase_order_trends.py:57
+#: erpnext/buying/report/purchase_order_trends/purchase_order_trends.py:62
msgid "Purchase Value"
msgstr ""
-#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:35
+#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:45
msgid "Purchase Voucher No"
msgstr ""
-#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:29
+#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:39
msgid "Purchase Voucher Type"
msgstr ""
#: erpnext/utilities/activation.py:105
msgid "Purchase orders help you plan and follow up on your purchases"
-msgstr "採購訂單幫助您規劃和跟進您的購買"
+msgstr ""
#. Option for the 'Current State' (Select) field in DocType 'Share Balance'
#: erpnext/accounts/doctype/share_balance/share_balance.json
@@ -40934,7 +41568,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:27
#: erpnext/stock/doctype/item/item.json
msgid "Purchasing"
-msgstr "購買"
+msgstr ""
#. Label of the purpose (Select) field in DocType 'Asset Movement'
#. Label of the material_request_type (Select) field in DocType 'Material
@@ -40955,9 +41589,9 @@ msgstr "購買"
msgid "Purpose"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:679
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:700
msgid "Purpose must be one of {0}"
-msgstr "目的必須是一個{0}"
+msgstr ""
#. Label of the purposes (Table) field in DocType 'Maintenance Visit'
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
@@ -41032,17 +41666,18 @@ msgstr ""
#. Reservation Entry'
#. Option for the 'Distribute Additional Costs Based On ' (Select) field in
#. DocType 'Subcontracting Order'
+#. Option for the 'Distribute Additional Costs Based On ' (Select) field in
#. DocType 'Subcontracting Receipt'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
-#: erpnext/accounts/report/gross_profit/gross_profit.py:345
+#: erpnext/accounts/report/gross_profit/gross_profit.py:347
#: erpnext/assets/doctype/asset_capitalization_service_item/asset_capitalization_service_item.json
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:240
#: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:224
-#: erpnext/controllers/trends.py:282 erpnext/controllers/trends.py:294
-#: erpnext/controllers/trends.py:299
+#: erpnext/controllers/trends.py:294 erpnext/controllers/trends.py:306
+#: erpnext/controllers/trends.py:311
#: erpnext/crm/doctype/opportunity_item/opportunity_item.json
-#: erpnext/manufacturing/doctype/bom/bom.js:1108
+#: erpnext/manufacturing/doctype/bom/bom.js:1112
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
#: erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
@@ -41054,12 +41689,12 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
#: erpnext/manufacturing/doctype/workstation/workstation_job_card.html:28
#: erpnext/manufacturing/report/bom_explorer/bom_explorer.py:69
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:235
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:333
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:398
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:499
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:243
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:341
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:406
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:506
#: erpnext/public/js/stock_reservation.js:134
-#: erpnext/public/js/stock_reservation.js:336 erpnext/public/js/utils.js:887
+#: erpnext/public/js/stock_reservation.js:336 erpnext/public/js/utils.js:890
#: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
#: erpnext/selling/doctype/product_bundle_item/product_bundle_item.json
#: erpnext/selling/doctype/sales_order/sales_order.js:398
@@ -41089,7 +41724,7 @@ msgstr ""
#: erpnext/templates/form_grid/stock_entry_grid.html:10
#: erpnext/templates/generators/bom.html:50 erpnext/templates/pages/rfq.html:40
msgid "Qty"
-msgstr "數量"
+msgstr ""
#: erpnext/templates/pages/order.html:178
msgid "Qty "
@@ -41106,6 +41741,7 @@ msgstr ""
#. Label of the company_total_stock (Float) field in DocType 'Quotation Item'
#. Label of the company_total_stock (Float) field in DocType 'Sales Order Item'
#. Label of the company_total_stock (Float) field in DocType 'Delivery Note
+#. Item'
#. Label of the company_total_stock (Float) field in DocType 'Pick List Item'
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
@@ -41146,7 +41782,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:169
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:199
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:208
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:91
msgid "Qty Change"
msgstr ""
@@ -41177,9 +41813,9 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/report/process_loss_report/process_loss_report.py:82
msgid "Qty To Manufacture"
-msgstr "製造數量"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1530
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1589
msgid "Qty To Manufacture ({0}) cannot be a fraction for the UOM {2}. To allow this, disable '{1}' in the UOM {2}."
msgstr ""
@@ -41227,16 +41863,17 @@ msgstr ""
#. Description of the 'Apply Recursion Over (As Per Transaction UOM)' (Float)
#. field in DocType 'Pricing Rule'
+#. Description of the 'Apply Recursion Over (As Per Transaction UOM)' (Float)
#. field in DocType 'Promotional Scheme Product Discount'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
msgid "Qty for which recursion isn't applicable."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1057
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1080
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1061
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1084
msgid "Qty for {0}"
-msgstr "數量為{0}"
+msgstr ""
#. Label of the stock_qty (Float) field in DocType 'Purchase Order Item'
#. Label of the stock_qty (Float) field in DocType 'Delivery Note Item'
@@ -41252,7 +41889,7 @@ msgstr ""
msgid "Qty of Finished Goods Item"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:679
+#: erpnext/stock/doctype/pick_list/pick_list.py:709
msgid "Qty of Finished Goods Item should be greater than 0."
msgstr ""
@@ -41279,7 +41916,7 @@ msgstr ""
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:269
msgid "Qty to Deliver"
-msgstr "數量交付"
+msgstr ""
#: erpnext/stock/doctype/stock_entry/stock_entry.js:401
msgid "Qty to Disassemble"
@@ -41300,7 +41937,7 @@ msgstr ""
#: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:259
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
msgid "Qty to Order"
-msgstr "訂購數量"
+msgstr ""
#. Label of the finished_good_qty (Float) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
@@ -41312,16 +41949,16 @@ msgstr ""
#: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:252
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:542
msgid "Qty to Receive"
-msgstr "未到貨量"
+msgstr ""
#. Label of the qualification_tab (Section Break) field in DocType 'Lead'
#. Label of the qualification (Data) field in DocType 'Employee Education'
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/setup/doctype/employee_education/employee_education.json
#: erpnext/setup/setup_wizard/data/sales_stage.txt:2
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:438
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:441
msgid "Qualification"
-msgstr "合格"
+msgstr ""
#. Label of the qualification_status (Select) field in DocType 'Lead'
#: erpnext/crm/doctype/lead/lead.json
@@ -41429,6 +42066,7 @@ msgstr ""
#. Label of a Link in the Quality Workspace
#. Label of the quality_inspection (Link) field in DocType 'Delivery Note Item'
#. Label of the quality_inspection (Link) field in DocType 'Purchase Receipt
+#. Item'
#. Name of a DocType
#. Group in Quality Inspection Template's connections
#. Label of the quality_inspection (Link) field in DocType 'Stock Entry Detail'
@@ -41452,13 +42090,13 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/workspace_sidebar/quality.json erpnext/workspace_sidebar/stock.json
msgid "Quality Inspection"
-msgstr "品質檢驗"
+msgstr ""
#: erpnext/manufacturing/dashboard_fixtures.py:108
msgid "Quality Inspection Analysis"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2980
+#: erpnext/public/js/controllers/transaction.js:2969
msgid "Quality Inspection Not Configured"
msgstr ""
@@ -41475,7 +42113,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
msgid "Quality Inspection Reading"
-msgstr "質量檢驗閱讀"
+msgstr ""
#. Label of the inspection_required (Check) field in DocType 'BOM'
#. Label of the quality_inspection_required (Check) field in DocType 'BOM
@@ -41515,7 +42153,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/quality.json erpnext/workspace_sidebar/stock.json
msgid "Quality Inspection Template"
-msgstr "質量檢驗模板"
+msgstr ""
#. Label of the quality_inspection_template_name (Data) field in DocType
#. 'Quality Inspection Template'
@@ -41537,7 +42175,7 @@ msgstr ""
msgid "Quality Inspection {0} is rejected for the item: {1}"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:431
+#: erpnext/public/js/controllers/transaction.js:433
#: erpnext/stock/doctype/stock_entry/stock_entry.js:212
msgid "Quality Inspection(s)"
msgstr ""
@@ -41547,9 +42185,9 @@ msgstr ""
msgid "Quality Inspections"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:506
+#: erpnext/setup/doctype/company/company.py:508
msgid "Quality Management"
-msgstr "品質管理"
+msgstr ""
#. Name of a role
#: erpnext/assets/doctype/asset/asset.json
@@ -41565,7 +42203,7 @@ msgstr "品質管理"
#: erpnext/stock/doctype/quality_inspection_parameter_group/quality_inspection_parameter_group.json
#: erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.json
msgid "Quality Manager"
-msgstr "質量經理"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Quality Workspace
@@ -41630,6 +42268,7 @@ msgstr ""
#. Label of the qty (Float) field in DocType 'Sales Invoice Item'
#. Label of the qty (Int) field in DocType 'Subscription Plan Detail'
#. Label of the stock_qty (Float) field in DocType 'Asset Capitalization Stock
+#. Item'
#. Label of the qty (Float) field in DocType 'Purchase Order Item'
#. Label of the qty (Float) field in DocType 'Request for Quotation Item'
#. Label of the qty (Float) field in DocType 'Supplier Quotation Item'
@@ -41642,8 +42281,10 @@ msgstr ""
#. Label of the qty (Float) field in DocType 'Delivery Note Item'
#. Label of the qty (Float) field in DocType 'Material Request Item'
#. Label of the quantity_section (Section Break) field in DocType 'Packing Slip
+#. Item'
#. Label of the qty (Float) field in DocType 'Packing Slip Item'
#. Label of the quantity_section (Section Break) field in DocType 'Pick List
+#. Item'
#. Label of the quantity_section (Section Break) field in DocType 'Stock Entry
#. Detail'
#. Label of the qty (Float) field in DocType 'Stock Reconciliation Item'
@@ -41654,6 +42295,7 @@ msgstr ""
#. Service Item'
#. Label of the qty (Float) field in DocType 'Subcontracting Order Item'
#. Label of the qty (Float) field in DocType 'Subcontracting Order Service
+#. Item'
#: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -41686,11 +42328,12 @@ msgstr ""
#: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py:39
#: erpnext/stock/dashboard/item_dashboard.js:248
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
-#: erpnext/stock/doctype/material_request/material_request.js:368
+#: erpnext/stock/doctype/material_request/material_request.js:369
+#: erpnext/stock/doctype/material_request/material_request.js:508
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:829
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:805
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
#: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:36
@@ -41706,7 +42349,7 @@ msgstr ""
#: erpnext/templates/pages/material_request_info.html:48
#: erpnext/templates/pages/order.html:97
msgid "Quantity"
-msgstr "數量"
+msgstr ""
#. Description of the 'Packing Unit' (Int) field in DocType 'Item Price'
#: erpnext/stock/doctype/item_price/item_price.json
@@ -41758,6 +42401,7 @@ msgstr ""
#. Label of the quantity_and_rate (Section Break) field in DocType 'Purchase
#. Invoice Item'
+#. Label of the quantity_and_rate (Section Break) field in DocType 'Purchase
#. Order Item'
#. Label of the quantity_and_rate (Section Break) field in DocType 'Supplier
#. Quotation Item'
@@ -41771,10 +42415,12 @@ msgstr ""
#. Label of the quantity_and_rate (Section Break) field in DocType 'Quotation
#. Item'
#. Label of the quantity_and_rate (Section Break) field in DocType 'Sales Order
+#. Item'
#. Label of the quantity_and_rate (Section Break) field in DocType 'Delivery
#. Note Item'
#. Label of the quantity_and_rate_section (Tab Break) field in DocType 'Serial
#. and Batch Bundle'
+#. Label of the quantity_and_rate_section (Section Break) field in DocType
#. 'Subcontracting Order Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -41797,10 +42443,19 @@ msgstr ""
msgid "Quantity and Warehouse"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:210
+#: erpnext/stock/doctype/material_request/material_request.py:261
msgid "Quantity cannot be greater than {0} for Item {1}"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.py:704
+msgid "Quantity for Item {0} must be greater than zero and cannot exceed {1}"
+msgstr ""
+
+#: erpnext/stock/doctype/material_request/material_request.js:564
+msgctxt "${pending_qty}"
+msgid "Quantity for Item {0} must be greater than zero and cannot exceed {1}"
+msgstr ""
+
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:564
msgid "Quantity is mandatory for the selected items."
msgstr ""
@@ -41817,35 +42472,35 @@ msgstr ""
msgid "Quantity must be less than or equal to {0}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1110
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1114
#: erpnext/stock/doctype/pick_list/pick_list.js:214
msgid "Quantity must not be more than {0}"
-msgstr "數量必須不超過{0}"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:773
msgid "Quantity required for Item {0} in row {1}"
-msgstr "列{1}項目{0}必須有數量"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:717
#: erpnext/manufacturing/doctype/job_card/job_card.js:341
#: erpnext/manufacturing/doctype/job_card/job_card.js:409
#: erpnext/manufacturing/doctype/workstation/workstation.js:303
msgid "Quantity should be greater than 0"
-msgstr "量應大於0"
+msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:354
msgid "Quantity to Manufacture"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2845
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2915
msgid "Quantity to Manufacture can not be zero for the operation {0}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1522
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1581
msgid "Quantity to Manufacture must be greater than 0."
-msgstr "量生產必須大於0。"
+msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:257
+#: erpnext/public/js/utils/barcode_scanner.js:262
msgid "Quantity to Scan"
msgstr ""
@@ -41874,13 +42529,13 @@ msgstr ""
msgid "Query Route String"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:192
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:199
msgid "Queue Size should be between 5 and 100"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:634
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:635
msgid "Quick Journal Entry"
-msgstr "快速日記帳分錄"
+msgstr ""
#: erpnext/accounts/report/financial_ratios/financial_ratios.py:154
msgid "Quick Ratio"
@@ -41903,7 +42558,7 @@ msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:22
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:28
msgid "Quot Count"
-msgstr "報價計數"
+msgstr ""
#: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:26
#: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:32
@@ -41938,7 +42593,7 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
#: erpnext/workspace_sidebar/selling.json
msgid "Quotation"
-msgstr "報價"
+msgstr ""
#: erpnext/selling/report/territory_wise_sales/territory_wise_sales.py:36
msgid "Quotation Amount"
@@ -41947,7 +42602,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/selling/doctype/quotation_item/quotation_item.json
msgid "Quotation Item"
-msgstr "產品報價"
+msgstr ""
#. Name of a DocType
#. Label of the order_lost_reason (Data) field in DocType 'Quotation Lost
@@ -41957,7 +42612,7 @@ msgstr "產品報價"
#: erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
#: erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.json
msgid "Quotation Lost Reason"
-msgstr "報價遺失原因"
+msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.json
@@ -41981,28 +42636,28 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Quotation Trends"
-msgstr "報價趨勢"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:487
msgid "Quotation {0} is cancelled"
-msgstr "{0}報價被取消"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:400
msgid "Quotation {0} not of type {1}"
-msgstr "報價{0}非為{1}類型"
+msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:348
+#: erpnext/selling/doctype/quotation/quotation.py:363
#: erpnext/selling/page/sales_funnel/sales_funnel.py:57
msgid "Quotations"
-msgstr "語錄"
+msgstr ""
#: erpnext/utilities/activation.py:87
msgid "Quotations are proposals, bids you have sent to your customers"
-msgstr "語錄是建議,你已經發送到你的客戶提高出價"
+msgstr ""
#: erpnext/templates/pages/rfq.html:73
msgid "Quotations: "
-msgstr "語錄:"
+msgstr ""
#. Label of the quote_status (Select) field in DocType 'Request for Quotation
#. Supplier'
@@ -42010,7 +42665,7 @@ msgstr "語錄:"
msgid "Quote Status"
msgstr ""
-#: erpnext/selling/report/quotation_trends/quotation_trends.py:57
+#: erpnext/selling/report/quotation_trends/quotation_trends.py:62
msgid "Quoted Amount"
msgstr ""
@@ -42022,7 +42677,7 @@ msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:133
msgid "RFQs are not allowed for {0} due to a scorecard standing of {1}"
-msgstr "由於{1}的記分卡,{0}不允許使用RFQ"
+msgstr ""
#. Label of the auto_indent (Check) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -42080,10 +42735,13 @@ msgstr ""
#. Settings'
#. Label of the rate (Currency) field in DocType 'Subcontracting Inward Order
#. Received Item'
+#. Label of the rate (Currency) field in DocType 'Subcontracting Inward Order
#. Service Item'
#. Label of the rate (Currency) field in DocType 'Subcontracting Order Item'
#. Label of the rate (Currency) field in DocType 'Subcontracting Order Service
+#. Item'
#. Label of the rate (Currency) field in DocType 'Subcontracting Order Supplied
+#. Item'
#. Label of the rate (Currency) field in DocType 'Subcontracting Receipt Item'
#. Label of the rate (Currency) field in DocType 'Subcontracting Receipt
#. Supplied Item'
@@ -42113,7 +42771,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
#: erpnext/manufacturing/doctype/work_order_additional_item/work_order_additional_item.json
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
-#: erpnext/public/js/utils.js:897
+#: erpnext/public/js/utils.js:900
#: erpnext/selling/doctype/product_bundle_item/product_bundle_item.json
#: erpnext/selling/doctype/quotation_item/quotation_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -42139,7 +42797,7 @@ msgstr ""
#: erpnext/templates/form_grid/item_grid.html:8
#: erpnext/templates/pages/order.html:100 erpnext/templates/pages/rfq.html:43
msgid "Rate"
-msgstr "單價"
+msgstr ""
#. Label of the rate_amount_section (Section Break) field in DocType 'BOM Item'
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
@@ -42189,13 +42847,17 @@ msgstr ""
#. Label of the rate_with_margin (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Sales Invoice
+#. Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Purchase Order
+#. Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Supplier
#. Quotation Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Quotation Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Sales Order Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Delivery Note
+#. Item'
#. Label of the rate_with_margin (Currency) field in DocType 'Purchase Receipt
+#. 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
@@ -42213,11 +42875,16 @@ msgstr ""
#. Label of the base_rate_with_margin (Currency) field in DocType 'Purchase
#. Invoice Item'
#. Label of the base_rate_with_margin (Currency) field in DocType 'Sales
+#. Invoice Item'
+#. Label of the base_rate_with_margin (Currency) field in DocType 'Purchase
#. Order Item'
#. Label of the base_rate_with_margin (Currency) field in DocType 'Quotation
+#. Item'
#. Label of the base_rate_with_margin (Currency) field in DocType 'Sales Order
+#. Item'
#. Label of the base_rate_with_margin (Currency) field in DocType 'Delivery
#. Note Item'
+#. Label of the base_rate_with_margin (Currency) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -42248,7 +42915,9 @@ msgstr ""
#. Description of the 'Price List Exchange Rate' (Float) field in DocType
#. 'Quotation'
+#. Description of the 'Price List Exchange Rate' (Float) field in DocType
#. 'Sales Order'
+#. Description of the 'Price List Exchange Rate' (Float) field in DocType
#. 'Delivery Note'
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
@@ -42285,7 +42954,7 @@ msgstr ""
msgid "Rate at which this tax is applied"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4121
+#: erpnext/controllers/accounts_controller.py:4162
msgid "Rate of '{}' items cannot be changed"
msgstr ""
@@ -42312,10 +42981,12 @@ msgstr ""
#. Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Sales Invoice Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Purchase Order
+#. Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Quotation Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Sales Order Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Delivery Note Item'
#. Label of the stock_uom_rate (Currency) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -42333,7 +43004,7 @@ msgstr ""
msgid "Rate or Discount"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:184
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:202
msgid "Rate or Discount is required for the price discount."
msgstr ""
@@ -42350,10 +43021,10 @@ msgid "Ratios"
msgstr ""
#: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py:52
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:46
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:216
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:49
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:219
msgid "Raw Material"
-msgstr "原料"
+msgstr ""
#: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:407
msgid "Raw Material Code"
@@ -42371,6 +43042,7 @@ msgstr ""
#. Label of the rm_cost_per_qty (Currency) field in DocType 'Subcontracting
#. Order Item'
+#. Label of the rm_cost_per_qty (Currency) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -42384,11 +43056,13 @@ msgstr ""
#. Label of the rm_item_code (Link) field in DocType 'Purchase Order Item
#. Supplied'
#. Label of the rm_item_code (Link) field in DocType 'Purchase Receipt Item
+#. Supplied'
#. Label of the rm_item_code (Link) field in DocType 'Subcontracting Inward
#. Order Received Item'
#. Label of the rm_item_code (Link) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the rm_item_code (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_inward_order_received_item/subcontracting_inward_order_received_item.json
@@ -42420,13 +43094,13 @@ msgstr ""
#. Label of the section_break_8 (Section Break) field in DocType 'Job Card'
#. Label of the mr_items (Table) field in DocType 'Production Plan'
#: erpnext/manufacturing/doctype/bom/bom.js:449
-#: erpnext/manufacturing/doctype/bom/bom.js:1081
+#: erpnext/manufacturing/doctype/bom/bom.js:1085
#: erpnext/manufacturing/doctype/job_card/job_card.json
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
#: erpnext/manufacturing/doctype/workstation/workstation.js:462
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:379
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:387
msgid "Raw Materials"
-msgstr "原料"
+msgstr ""
#. Label of the raw_materials_consumed_section (Section Break) field in DocType
#. 'Subcontracting Receipt'
@@ -42449,7 +43123,7 @@ msgstr ""
msgid "Raw Materials Consumption"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:420
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:440
msgid "Raw Materials Missing"
msgstr ""
@@ -42474,6 +43148,7 @@ msgstr ""
#. Label of the rm_supp_cost (Currency) field in DocType 'Purchase Invoice
#. Item'
#. Label of the rm_supp_cost (Currency) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the rm_supp_cost (Currency) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -42484,7 +43159,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:765
msgid "Raw Materials cannot be blank."
-msgstr "原材料不能為空。"
+msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:136
msgid "Raw Materials to Customer"
@@ -42505,11 +43180,11 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:779
#: erpnext/selling/doctype/sales_order/sales_order.js:974
#: erpnext/selling/doctype/sales_order/sales_order_list.js:70
-#: erpnext/stock/doctype/material_request/material_request.js:243
+#: erpnext/stock/doctype/material_request/material_request.js:246
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:116
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:164
msgid "Re-open"
-msgstr "重新打開"
+msgstr ""
#. Label of the warehouse_reorder_level (Float) field in DocType 'Item Reorder'
#: erpnext/stock/doctype/item_reorder/item_reorder.json
@@ -42595,10 +43270,10 @@ msgid "Real Estate"
msgstr ""
#. Label of the hold_comment (Small Text) field in DocType 'Purchase Invoice'
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:285
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:283
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
msgid "Reason For Putting On Hold"
-msgstr "擱置的理由"
+msgstr ""
#. Label of the failed_reason (Data) field in DocType 'Payment Request'
#: erpnext/accounts/doctype/payment_request/payment_request.json
@@ -42627,10 +43302,6 @@ msgstr ""
msgid "Recalculate Batch Qty"
msgstr ""
-#: erpnext/stock/doctype/bin/bin.js:10
-msgid "Recalculate Bin Qty"
-msgstr ""
-
#. Label of the recalculate_rate (Check) field in DocType 'Stock Ledger Entry'
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
msgid "Recalculate Incoming/Outgoing Rate"
@@ -42642,6 +43313,10 @@ msgstr ""
msgid "Recalculate Valuation Rate"
msgstr ""
+#: erpnext/stock/doctype/bin/bin.js:10
+msgid "Recalculate Values"
+msgstr ""
+
#. Option for the 'Status' (Select) field in DocType 'Asset'
#. Option for the 'Purpose' (Select) field in DocType 'Asset Movement'
#. Option for the 'Asset Status' (Select) field in DocType 'Serial No'
@@ -42650,10 +43325,11 @@ msgstr ""
#: erpnext/assets/doctype/asset_movement/asset_movement.json
#: erpnext/stock/doctype/serial_no/serial_no.json
msgid "Receipt"
-msgstr "收據"
+msgstr ""
#. Label of the receipt_document (Dynamic Link) field in DocType 'Landed Cost
#. Item'
+#. Label of the receipt_document (Dynamic Link) field in DocType 'Landed Cost
#. Purchase Receipt'
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
#: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
@@ -42662,6 +43338,7 @@ msgstr ""
#. Label of the receipt_document_type (Select) field in DocType 'Landed Cost
#. Item'
+#. Label of the receipt_document_type (Select) field in DocType 'Landed Cost
#. Purchase Receipt'
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
#: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
@@ -42682,7 +43359,7 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:55
#: erpnext/setup/doctype/party_type/party_type.json
msgid "Receivable"
-msgstr "應收帳款"
+msgstr ""
#. Label of the receivable_payable_account (Link) field in DocType 'Payment
#. Reconciliation'
@@ -42691,12 +43368,12 @@ msgid "Receivable / Payable Account"
msgstr ""
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:79
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1155
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1162
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:241
#: erpnext/accounts/report/sales_register/sales_register.py:231
#: erpnext/accounts/report/sales_register/sales_register.py:285
msgid "Receivable Account"
-msgstr "應收帳款"
+msgstr ""
#. Label of the receivable_payable_account (Link) field in DocType 'Process
#. Payment Reconciliation'
@@ -42724,7 +43401,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:120
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:123
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Receive from Customer"
@@ -42759,12 +43436,12 @@ msgstr ""
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:9
msgid "Received From"
-msgstr "從......收到"
+msgstr ""
#. Name of a report
#: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.json
msgid "Received Items To Be Billed"
-msgstr "待付款的收受品項"
+msgstr ""
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:8
msgid "Received On"
@@ -42793,7 +43470,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order_received_item/subcontracting_inward_order_received_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
msgid "Received Qty"
-msgstr "到貨數量"
+msgstr ""
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:299
msgid "Received Qty Amount"
@@ -42819,6 +43496,7 @@ msgstr ""
#. Label of the received_and_accepted (Section Break) field in DocType
#. 'Purchase Receipt Item'
+#. Label of the received_and_accepted (Section Break) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -42836,7 +43514,7 @@ msgstr ""
#: erpnext/selling/doctype/sms_center/sms_center.py:166
msgid "Receiver List is empty. Please create Receiver List"
-msgstr "收受方列表為空。請創建收受方列表"
+msgstr ""
#. Option for the 'Bank Guarantee Type' (Select) field in DocType 'Bank
#. Guarantee'
@@ -42871,7 +43549,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:105
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:106
msgid "Reconcile"
-msgstr "調和"
+msgstr ""
#. Label of the reconcile_all_serial_batch (Check) field in DocType 'Stock
#. Reconciliation Item'
@@ -42891,6 +43569,7 @@ msgstr ""
#. Label of the reconcile_on_advance_payment_date (Check) field in DocType
#. 'Payment Entry'
+#. Label of the reconcile_on_advance_payment_date (Check) field in DocType
#. 'Company'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/setup/doctype/company/company.json
@@ -42905,6 +43584,8 @@ msgstr ""
#. Label of the reconciled (Check) field in DocType 'Process Payment
#. Reconciliation Log'
#. Option for the 'Status' (Select) field in DocType 'Process Payment
+#. Reconciliation Log'
+#. Label of the reconciled (Check) field in DocType 'Process Payment
#. Reconciliation Log Allocations'
#: banking/src/components/features/BankReconciliation/BankTransactionList.tsx:140
#: banking/src/components/features/BankReconciliation/BankTransactionList.tsx:413
@@ -43063,11 +43744,11 @@ msgstr ""
msgid "Recurse Every (As Per Transaction UOM)"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:240
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:258
msgid "Recurse Over Qty cannot be less than 0"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:316
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:334
#: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py:231
msgid "Recursive Discounts with Mixed condition is not supported by the system"
msgstr ""
@@ -43083,7 +43764,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/selling/page/point_of_sale/pos_payment.js:614
msgid "Redeem Loyalty Points"
-msgstr "兌換忠誠度積分"
+msgstr ""
#. Label of the redeemed_points (Int) field in DocType 'Loyalty Point Entry
#. Redemption'
@@ -43099,6 +43780,7 @@ msgstr ""
#. Label of the loyalty_redemption_account (Link) field in DocType 'POS
#. Invoice'
#. Label of the loyalty_redemption_account (Link) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Redemption Account"
@@ -43107,6 +43789,7 @@ msgstr ""
#. Label of the loyalty_redemption_cost_center (Link) field in DocType 'POS
#. Invoice'
#. Label of the loyalty_redemption_cost_center (Link) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Redemption Cost Center"
@@ -43130,7 +43813,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:101
msgid "Ref Date"
-msgstr "參考日期"
+msgstr ""
#: banking/src/components/features/BankStatementImporter/CSV/StatementDetails.tsx:245
#: banking/src/components/features/BankStatementImporter/CSV/StatementDetails.tsx:312
@@ -43142,11 +43825,11 @@ msgstr ""
msgid "Reference #"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1039
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1050
msgid "Reference #{0} dated {1}"
-msgstr "參考# {0}於{1}"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2836
+#: erpnext/public/js/controllers/transaction.js:2825
msgid "Reference Date for Early Payment Discount"
msgstr ""
@@ -43162,7 +43845,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:674
msgid "Reference Doctype must be one of {0}"
-msgstr "參考文檔類型必須是一個{0}"
+msgstr ""
#. Label of the reference_due_date (Date) field in DocType 'Journal Entry
#. Account'
@@ -43173,6 +43856,7 @@ msgstr ""
#. Label of the ref_exchange_rate (Float) field in DocType 'Purchase Invoice
#. Advance'
#. Label of the ref_exchange_rate (Float) field in DocType 'Sales Invoice
+#. Advance'
#: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
#: erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
msgid "Reference Exchange Rate"
@@ -43183,21 +43867,21 @@ msgstr ""
msgid "Reference No"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:653
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:654
msgid "Reference No & Reference Date is required for {0}"
-msgstr "參考號與參考日期須為{0}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1241
msgid "Reference No and Reference Date is mandatory for Bank transaction"
-msgstr "參考編號和參考日期是強制性的銀行交易"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:658
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:659
msgid "Reference No is mandatory if you entered Reference Date"
-msgstr "如果你輸入的參考日期,參考編號是強制性的"
+msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:265
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:263
msgid "Reference No."
-msgstr "參考編號。"
+msgstr ""
#. Label of the reference_number (Small Text) field in DocType 'Bank
#. Transaction'
@@ -43207,7 +43891,7 @@ msgstr "參考編號。"
#: erpnext/public/js/bank_reconciliation_tool/data_table_manager.js:83
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:130
msgid "Reference Number"
-msgstr "參考號碼"
+msgstr ""
#. Label of the reference_purchase_receipt (Link) field in DocType 'Stock Entry
#. Detail'
@@ -43217,6 +43901,7 @@ msgstr ""
#. Label of the reference_row (Data) field in DocType 'Payment Reconciliation
#. Allocation'
+#. Label of the reference_row (Data) field in DocType 'Payment Reconciliation
#. Payment'
#. Label of the reference_row (Data) field in DocType 'Process Payment
#. Reconciliation Log Allocations'
@@ -43278,7 +43963,7 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:142
msgid "Reference: {0}, Item Code: {1} and Customer: {2}"
-msgstr "參考:{0},商品編號:{1}和顧客:{2}"
+msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.py:374
msgid "References to Sales Invoices are Incomplete"
@@ -43306,7 +43991,7 @@ msgstr ""
msgid "Refresh Plaid Link"
msgstr ""
-#: erpnext/stock/reorder_item.py:391
+#: erpnext/stock/reorder_item.py:393
msgid "Regards,"
msgstr ""
@@ -43324,7 +44009,7 @@ msgstr ""
#. Label of a Card Break in the Buying Workspace
#: erpnext/buying/workspace/buying/buying.json
msgid "Regional"
-msgstr "區域性"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/workspace_sidebar/financial_reports.json
@@ -43362,6 +44047,7 @@ msgstr ""
#. Label of the rejected_serial_no (Text) field in DocType 'Purchase Invoice
#. Item'
#. Label of the rejected_serial_no (Text) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the rejected_serial_no (Small Text) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -43372,7 +44058,9 @@ msgstr ""
#. Label of the rejected_serial_and_batch_bundle (Link) field in DocType
#. 'Purchase Invoice Item'
+#. Label of the rejected_serial_and_batch_bundle (Link) field in DocType
#. 'Purchase Receipt Item'
+#. Label of the rejected_serial_and_batch_bundle (Link) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -43385,8 +44073,10 @@ msgstr ""
#. Item'
#. Label of the rejected_warehouse (Link) field in DocType 'Purchase Receipt'
#. Label of the rejected_warehouse (Link) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the rejected_warehouse (Link) field in DocType 'Subcontracting
#. Receipt'
+#. Label of the rejected_warehouse (Link) field in DocType 'Subcontracting
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -43406,7 +44096,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py:22
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py:26
msgid "Related"
-msgstr "有關"
+msgstr ""
#: erpnext/stock/report/item_where_used/item_where_used.py:50
msgid "Related Item"
@@ -43419,15 +44109,15 @@ msgstr ""
#. Label of the release_date (Date) field in DocType 'Purchase Invoice'
#. Label of the release_date (Date) field in DocType 'Supplier'
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:277
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:321
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:275
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:320
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1079
msgid "Release Date"
-msgstr "發布日期"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:325
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:335
msgid "Release date must be in the future"
msgstr ""
@@ -43438,24 +44128,24 @@ msgstr ""
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:125
msgid "Remaining"
-msgstr "剩餘"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:684
msgid "Remaining Amount"
msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:189
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1232
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1239
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:178
msgid "Remaining Balance"
-msgstr "保持平衡"
+msgstr ""
#. Label of the remark (Small Text) field in DocType 'Journal Entry'
-#: erpnext/accounts/doctype/journal_entry/journal_entry.js:664
+#: erpnext/accounts/doctype/journal_entry/journal_entry.js:665
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/selling/page/point_of_sale/pos_payment.js:489
msgid "Remark"
-msgstr "備註"
+msgstr ""
#. Label of the remarks (Text) field in DocType 'GL Entry'
#. Label of the remarks (Small Text) field in DocType 'Payment Entry'
@@ -43503,7 +44193,7 @@ msgstr "備註"
#: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:11
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:135
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:136
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1264
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1271
#: erpnext/accounts/report/general_ledger/general_ledger.html:163
#: erpnext/accounts/report/general_ledger/general_ledger.py:818
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:112
@@ -43519,7 +44209,7 @@ msgstr "備註"
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Remarks"
-msgstr "備註"
+msgstr ""
#. Label of the remarks_section (Section Break) field in DocType 'Accounts
#. Settings'
@@ -43544,9 +44234,9 @@ msgstr ""
msgid "Remove item if charges is not applicable to that item"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:569
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:571
msgid "Removed items with no change in quantity or value."
-msgstr "刪除的項目在數量或價值沒有變化。"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:161
msgid "Removed {0} rows with zero document count. Please save to persist changes."
@@ -43567,7 +44257,7 @@ msgstr ""
msgid "Rename Log"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:557
+#: erpnext/accounts/doctype/account/account.py:588
msgid "Rename Not Allowed"
msgstr ""
@@ -43584,15 +44274,15 @@ msgstr ""
msgid "Rename jobs for doctype {0} have not been enqueued."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:549
+#: erpnext/accounts/doctype/account/account.py:580
msgid "Renaming it is only allowed via parent company {0}, to avoid mismatch."
msgstr ""
#: erpnext/manufacturing/doctype/workstation/test_workstation.py:90
#: erpnext/manufacturing/doctype/workstation/test_workstation.py:101
-#: erpnext/manufacturing/doctype/workstation/test_workstation.py:128
+#: erpnext/manufacturing/doctype/workstation/test_workstation.py:139
#: erpnext/patches/v16_0/make_workstation_operating_components.py:49
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:316
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:319
msgid "Rent"
msgstr ""
@@ -43605,15 +44295,15 @@ msgstr ""
#. Label of the reorder_level (Float) field in DocType 'Material Request Item'
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:64
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:211
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:219
msgid "Reorder Level"
-msgstr "重新排序級別"
+msgstr ""
#. Label of the reorder_qty (Float) field in DocType 'Material Request Item'
#: erpnext/stock/doctype/material_request_item/material_request_item.json
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:218
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:226
msgid "Reorder Qty"
-msgstr "再訂購數量"
+msgstr ""
#. Label of the reorder_levels (Table) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -43622,7 +44312,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:95
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:98
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Repack"
@@ -43653,11 +44343,11 @@ msgstr ""
#: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py:37
msgid "Repeat Customer Revenue"
-msgstr "重複客戶收入"
+msgstr ""
#: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py:22
msgid "Repeat Customers"
-msgstr "回頭客"
+msgstr ""
#. Label of the replace (Button) field in DocType 'BOM Update Tool'
#: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.json
@@ -43674,18 +44364,21 @@ msgstr ""
#. Description of a DocType
#: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.json
-msgid ""
-"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM.\n"
+msgid "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM.\n"
"It also updates latest price in all the BOMs."
msgstr ""
#. Label of the report_date (Date) field in DocType 'Quality Inspection'
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:120
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:16
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:15
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:121
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:18
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:15
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:75
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Report Date"
-msgstr "報告日期"
+msgstr ""
#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.js:225
msgid "Report Error"
@@ -43704,9 +44397,9 @@ msgstr ""
msgid "Report Template"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:462
+#: erpnext/accounts/doctype/account/account.py:493
msgid "Report Type is mandatory"
-msgstr "報告類型是強制性的"
+msgstr ""
#: erpnext/setup/install.py:241
msgid "Report an Issue"
@@ -43807,7 +44500,7 @@ msgstr ""
msgid "Repost Status"
msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:151
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:239
msgid "Repost has started in the background"
msgstr ""
@@ -43819,6 +44512,12 @@ msgstr ""
msgid "Repost started in the background"
msgstr ""
+#. Option for the 'Status' (Select) field in DocType 'Repost Accounting Ledger
+#. Items'
+#: erpnext/accounts/doctype/repost_accounting_ledger_items/repost_accounting_ledger_items.json
+msgid "Reposted"
+msgstr ""
+
#. Label of the reposting_data_file (Attach) field in DocType 'Repost Item
#. Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
@@ -43841,6 +44540,12 @@ msgstr ""
msgid "Reposting Reference"
msgstr ""
+#. Label of the reposting_status_section (Section Break) field in DocType
+#. 'Repost Accounting Ledger Items'
+#: erpnext/accounts/doctype/repost_accounting_ledger_items/repost_accounting_ledger_items.json
+msgid "Reposting Status"
+msgstr ""
+
#. Label of the vouchers_based_on_item_and_warehouse_section (Section Break)
#. field in DocType 'Repost Item Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
@@ -43851,8 +44556,16 @@ msgstr ""
msgid "Reposting Vouchers Progress"
msgstr ""
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:216
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:338
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:216
+msgid "Reposting can be started only for submitted document."
+msgstr ""
+
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:221
+msgid "Reposting cannot be started when status is {0}."
+msgstr ""
+
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:227
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:347
msgid "Reposting entries created: {0}"
msgstr ""
@@ -43872,6 +44585,14 @@ msgstr ""
msgid "Reposting in the background."
msgstr ""
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:211
+msgid "Reposting is still in progress in background."
+msgstr ""
+
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:315
+msgid "Reposting {0} {1}"
+msgstr ""
+
#. Label of the represents_company (Link) field in DocType 'Purchase Invoice'
#. Label of the represents_company (Link) field in DocType 'Sales Invoice'
#. Label of the represents_company (Link) field in DocType 'Purchase Order'
@@ -43909,7 +44630,7 @@ msgstr ""
msgid "Reqd Qty (BOM)"
msgstr ""
-#: erpnext/public/js/utils.js:913
+#: erpnext/public/js/utils.js:916
msgid "Reqd by date"
msgstr ""
@@ -43959,10 +44680,10 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:70
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:272
#: erpnext/buying/workspace/buying/buying.json
-#: erpnext/stock/doctype/material_request/material_request.js:202
+#: erpnext/stock/doctype/material_request/material_request.js:205
#: erpnext/workspace_sidebar/buying.json
msgid "Request for Quotation"
-msgstr "詢價"
+msgstr ""
#. Name of a DocType
#. Label of the request_for_quotation_item (Data) field in DocType 'Supplier
@@ -43970,12 +44691,12 @@ msgstr "詢價"
#: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
msgid "Request for Quotation Item"
-msgstr "詢價項目"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json
msgid "Request for Quotation Supplier"
-msgstr "詢價供應商"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1098
msgid "Request for Raw Materials"
@@ -43996,7 +44717,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Requested Items To Be Transferred"
-msgstr "將要轉倉的需求項目"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
@@ -44017,9 +44738,10 @@ msgstr ""
#: erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py:44
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/packed_item/packed_item.json
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:155
+#: erpnext/stock/page/stock_balance/stock_balance.js:61
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:156
msgid "Requested Qty"
-msgstr "要求數量"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:202
msgid "Requested Qty: Quantity requested for purchase, but not ordered."
@@ -44042,7 +44764,9 @@ msgstr ""
#. Label of the schedule_date (Date) field in DocType 'Purchase Receipt Item'
#. Label of the schedule_date (Date) field in DocType 'Subcontracting Order'
#. Label of the schedule_date (Date) field in DocType 'Subcontracting Order
+#. Item'
#. Label of the schedule_date (Date) field in DocType 'Subcontracting Receipt
+#. Item'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:201
@@ -44056,7 +44780,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Required By"
-msgstr "需求來自"
+msgstr ""
#. Label of the schedule_date (Date) field in DocType 'Request for Quotation'
#. Label of the schedule_date (Date) field in DocType 'Request for Quotation
@@ -44069,6 +44793,7 @@ msgstr ""
#. Label of the section_break_ndpq (Section Break) field in DocType 'Work
#. Order'
#. Label of the received_items (Table) field in DocType 'Subcontracting Inward
+#. Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json
msgid "Required Items"
@@ -44090,6 +44815,7 @@ msgstr ""
#. Label of the required_qty (Float) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the required_qty (Float) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:151
#: erpnext/manufacturing/doctype/job_card_item/job_card_item.json
@@ -44105,7 +44831,7 @@ msgstr ""
#: 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 "Required Qty"
-msgstr "所需數量"
+msgstr ""
#: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py:44
#: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:37
@@ -44129,13 +44855,13 @@ msgstr ""
msgid "Requires Fulfilment"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:263
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:266
msgid "Research"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:512
+#: erpnext/setup/doctype/company/company.py:514
msgid "Research & Development"
-msgstr "研究與發展"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:27
msgid "Researcher"
@@ -44161,9 +44887,9 @@ msgstr ""
msgid "Reseller"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.js:47
+#: erpnext/accounts/doctype/payment_request/payment_request.js:49
msgid "Resend Payment Email"
-msgstr "重新發送付款電子郵件"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py:13
msgid "Reservation"
@@ -44176,7 +44902,7 @@ msgstr ""
msgid "Reservation Based On"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:937
+#: erpnext/manufacturing/doctype/work_order/work_order.js:941
#: erpnext/selling/doctype/sales_order/sales_order.js:107
#: erpnext/stock/doctype/pick_list/pick_list.js:158
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:180
@@ -44221,7 +44947,7 @@ msgstr ""
msgid "Reserved"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1408
+#: erpnext/controllers/stock_controller.py:1505
msgid "Reserved Batch Conflict"
msgstr ""
@@ -44239,11 +44965,12 @@ msgstr ""
#: erpnext/stock/dashboard/item_dashboard_list.html:20
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:52
#: erpnext/stock/report/reserved_stock/reserved_stock.py:124
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:169
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:170
#: erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
msgid "Reserved Qty"
-msgstr "保留數量"
+msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:263
msgid "Reserved Qty ({0}) cannot be a fraction. To allow this, disable '{1}' in UOM {3}."
@@ -44254,11 +44981,13 @@ msgstr ""
#. Label of the reserved_qty_for_production (Float) field in DocType 'Bin'
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
#: erpnext/stock/doctype/bin/bin.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:53
msgid "Reserved Qty for Production"
msgstr ""
#. Label of the reserved_qty_for_production_plan (Float) field in DocType 'Bin'
#: erpnext/stock/doctype/bin/bin.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:57
msgid "Reserved Qty for Production Plan"
msgstr ""
@@ -44268,6 +44997,7 @@ msgstr ""
#. Label of the reserved_qty_for_sub_contract (Float) field in DocType 'Bin'
#: erpnext/stock/doctype/bin/bin.json
+#: erpnext/stock/page/stock_balance/stock_balance.js:54
msgid "Reserved Qty for Subcontract"
msgstr ""
@@ -44285,35 +45015,37 @@ msgstr ""
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:116
msgid "Reserved Quantity"
-msgstr "保留數量"
+msgstr ""
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:123
msgid "Reserved Quantity for Production"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2321
+#: erpnext/stock/stock_ledger.py:2383
msgid "Reserved Serial No."
msgstr ""
#. Label of the reserved_stock (Float) field in DocType 'Bin'
#. Name of a report
#: erpnext/manufacturing/doctype/plant_floor/stock_summary_template.html:24
-#: erpnext/manufacturing/doctype/work_order/work_order.js:953
+#: erpnext/manufacturing/doctype/work_order/work_order.js:957
#: erpnext/public/js/stock_reservation.js:236
#: erpnext/selling/doctype/sales_order/sales_order.js:135
#: erpnext/selling/doctype/sales_order/sales_order.js:465
#: erpnext/stock/dashboard/item_dashboard_list.html:15
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/pick_list/pick_list.js:178
+#: erpnext/stock/page/stock_balance/stock_balance.js:59
#: erpnext/stock/report/reserved_stock/reserved_stock.json
#: erpnext/stock/report/stock_balance/stock_balance.py:569
-#: erpnext/stock/stock_ledger.py:2305
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:205
+#: erpnext/stock/stock_ledger.py:2367
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:205
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:333
msgid "Reserved Stock"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2350
+#: erpnext/stock/stock_ledger.py:2412
msgid "Reserved Stock for Batch"
msgstr ""
@@ -44325,41 +45057,29 @@ msgstr ""
msgid "Reserved Stock for Sub-assembly"
msgstr ""
-#: erpnext/controllers/buying_controller.py:721
+#: erpnext/controllers/buying_controller.py:740
msgid "Reserved Warehouse is mandatory for the Item {item_code} in Raw Materials supplied."
msgstr ""
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:197
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:198
msgid "Reserved for POS Transactions"
msgstr ""
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:176
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:177
msgid "Reserved for Production"
msgstr ""
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:183
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:184
msgid "Reserved for Production Plan"
msgstr ""
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:190
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:191
msgid "Reserved for Sub Contracting"
msgstr ""
-#: erpnext/stock/page/stock_balance/stock_balance.js:53
-msgid "Reserved for manufacturing"
-msgstr "預留製造"
-
-#: erpnext/stock/page/stock_balance/stock_balance.js:52
-msgid "Reserved for sale"
-msgstr "保留出售"
-
-#: erpnext/stock/page/stock_balance/stock_balance.js:54
-msgid "Reserved for sub contracting"
-msgstr ""
-
#: erpnext/public/js/stock_reservation.js:203
#: erpnext/selling/doctype/sales_order/sales_order.js:418
-#: erpnext/stock/doctype/pick_list/pick_list.js:306
+#: erpnext/stock/doctype/pick_list/pick_list.js:307
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:293
msgid "Reserving Stock..."
msgstr ""
@@ -44514,13 +45234,13 @@ msgid "Responsible"
msgstr ""
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:108
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:158
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:161
msgid "Rest Of The World"
-msgstr "世界其他地區"
+msgstr ""
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.js:90
msgid "Restart"
-msgstr "重新開始"
+msgstr ""
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation_list.js:23
msgid "Restart Failed Entries"
@@ -44528,9 +45248,9 @@ msgstr ""
#: erpnext/accounts/doctype/subscription/subscription.js:54
msgid "Restart Subscription"
-msgstr "重新啟動訂閱"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:183
+#: erpnext/assets/doctype/asset/asset.js:191
msgid "Restore Asset"
msgstr ""
@@ -44540,6 +45260,12 @@ msgstr ""
msgid "Restrict"
msgstr ""
+#. Label of the enable_overdue_billing_threshold (Check) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Restrict Customer Over Billing"
+msgstr ""
+
#. Label of the restrict_based_on (Select) field in DocType 'Party Specific
#. Item'
#: erpnext/selling/doctype/party_specific_item/party_specific_item.json
@@ -44587,7 +45313,7 @@ msgstr ""
msgid "Resume Job"
msgstr ""
-#: erpnext/projects/doctype/timesheet/timesheet.js:65
+#: erpnext/projects/doctype/timesheet/timesheet.js:66
msgid "Resume Timer"
msgstr ""
@@ -44642,15 +45368,15 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:175
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Return"
-msgstr "退貨"
+msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:111
msgid "Return / Credit Note"
-msgstr "返回/信用票據"
+msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:131
msgid "Return / Debit Note"
-msgstr "返回/借記注"
+msgstr ""
#. Label of the return_against (Link) field in DocType 'POS Invoice'
#. Label of the return_against (Link) field in DocType 'POS Invoice Reference'
@@ -44699,6 +45425,10 @@ msgstr ""
msgid "Return Issued"
msgstr ""
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:328
+msgid "Return Purchase Invoice cannot be held."
+msgstr ""
+
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:329
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:127
msgid "Return Qty"
@@ -44714,13 +45444,13 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:126
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:129
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Return Raw Material to Customer"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1572
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1578
msgid "Return invoice of asset cancelled"
msgstr ""
@@ -44763,11 +45493,14 @@ msgstr ""
#. Label of the returned_qty (Float) field in DocType 'Sales Order Item'
#. Label of the returned_qty (Float) field in DocType 'Subcontracting Inward
#. Order Item'
+#. Label of the returned_qty (Float) field in DocType 'Subcontracting Inward
#. Order Received Item'
#. Label of the returned_qty (Float) field in DocType 'Subcontracting Order
#. Item'
+#. Label of the returned_qty (Float) field in DocType 'Subcontracting Order
#. Supplied Item'
#. Label of the returned_qty (Float) field in DocType 'Subcontracting Receipt
+#. Item'
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:154
@@ -44779,7 +45512,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Returned Qty"
-msgstr "返回的數量"
+msgstr ""
#. Label of the returned_qty (Float) field in DocType 'Work Order Item'
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
@@ -44809,12 +45542,12 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py:33
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt_dashboard.py:27
msgid "Returns"
-msgstr "返回"
+msgstr ""
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:151
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:113
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:183
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:141
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:154
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:116
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:186
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:144
msgid "Revaluation Journals"
msgstr ""
@@ -44833,20 +45566,36 @@ msgstr ""
msgid "Revenue received in advance (e.g. annual subscription) is held here and recognized gradually over time"
msgstr ""
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:39
+msgid "Reversal Journal Entries"
+msgstr ""
+
#. Label of the reversal_of (Link) field in DocType 'Journal Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
msgid "Reversal Of"
msgstr ""
+#: erpnext/accounts/doctype/journal_entry/journal_entry_list.js:6
+msgid "Reversal Of Exchange Rate Revaluation"
+msgstr ""
+
#: erpnext/accounts/doctype/journal_entry/journal_entry.js:100
msgid "Reverse Journal Entry"
-msgstr "反向日記帳分錄"
+msgstr ""
#. Label of the reverse_sign (Check) field in DocType 'Financial Report Row'
#: erpnext/accounts/doctype/financial_report_row/financial_report_row.json
msgid "Reverse Sign"
msgstr ""
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:628
+msgid "Reverse {0} already available in draft status: {1}"
+msgstr ""
+
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:118
+msgid "Reversing Journals..."
+msgstr ""
+
#. Label of the review (Link) field in DocType 'Quality Action'
#. Group in Quality Goal's connections
#. Label of the sb_00 (Section Break) field in DocType 'Quality Review'
@@ -44854,6 +45603,7 @@ msgstr ""
#. Label of the review (Text Editor) field in DocType 'Quality Review
#. Objective'
#. Label of the sb_00 (Section Break) field in DocType 'Quality Review
+#. Objective'
#. Name of a report
#: erpnext/quality_management/doctype/quality_action/quality_action.json
#: erpnext/quality_management/doctype/quality_goal/quality_goal.json
@@ -44965,6 +45715,12 @@ msgstr ""
msgid "Rod"
msgstr ""
+#. Label of the role_allowed_to_bypass_overdue_billing (Link) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Role Allowed to Bypass Over Billing Restriction"
+msgstr ""
+
#. Label of the role_allowed_to_over_deliver_receive (Link) field in DocType
#. 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -45002,7 +45758,9 @@ 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
@@ -45039,23 +45797,23 @@ msgstr ""
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
#: erpnext/accounts/report/account_balance/account_balance.js:22
msgid "Root Type"
-msgstr "root類型"
+msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:402
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:403
msgid "Root Type for {0} must be one of the Asset, Liability, Income, Expense and Equity"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:459
+#: erpnext/accounts/doctype/account/account.py:490
msgid "Root Type is mandatory"
-msgstr "root類型是強制性的"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:215
+#: erpnext/accounts/doctype/account/account.py:246
msgid "Root cannot be edited."
-msgstr "root不能被編輯。"
+msgstr ""
#: erpnext/accounts/doctype/cost_center/cost_center.py:47
msgid "Root cannot have a parent cost center"
-msgstr "root不能有一個父成本中心"
+msgstr ""
#. Label of the round_free_qty (Check) field in DocType 'Pricing Rule'
#. Label of the round_free_qty (Check) field in DocType 'Promotional Scheme
@@ -45073,7 +45831,7 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:56
#: erpnext/setup/doctype/company/company.json
msgid "Round Off"
-msgstr "四捨五入"
+msgstr ""
#. Label of the round_off_account (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -45117,6 +45875,7 @@ msgstr ""
#. Label of the rounded_total (Currency) field in DocType 'Sales Order'
#. Label of the base_rounded_total (Currency) field in DocType 'Delivery Note'
#. Label of the rounded_total (Currency) field in DocType 'Delivery Note'
+#. Label of the base_rounded_total (Currency) field in DocType 'Purchase
#. Receipt'
#. Label of the rounded_total (Currency) field in DocType 'Purchase Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -45131,7 +45890,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Rounded Total"
-msgstr "整數總計"
+msgstr ""
#. Label of the base_rounded_total (Currency) field in DocType 'POS Invoice'
#. Label of the base_rounded_total (Currency) field in DocType 'Supplier
@@ -45147,16 +45906,26 @@ msgstr ""
#. Label of the base_rounding_adjustment (Currency) field in DocType 'Purchase
#. Invoice'
#. Label of the rounding_adjustment (Currency) field in DocType 'Purchase
+#. Invoice'
#. Label of the base_rounding_adjustment (Currency) field in DocType 'Sales
+#. Invoice'
#. Label of the rounding_adjustment (Currency) field in DocType 'Sales Invoice'
+#. Label of the base_rounding_adjustment (Currency) field in DocType 'Purchase
+#. Order'
+#. Label of the rounding_adjustment (Currency) field in DocType 'Purchase
#. Order'
#. Label of the rounding_adjustment (Currency) field in DocType 'Supplier
#. Quotation'
#. Label of the rounding_adjustment (Currency) field in DocType 'Quotation'
+#. Label of the base_rounding_adjustment (Currency) field in DocType 'Sales
+#. Order'
#. Label of the rounding_adjustment (Currency) field in DocType 'Sales Order'
#. Label of the base_rounding_adjustment (Currency) field in DocType 'Delivery
#. Note'
#. Label of the rounding_adjustment (Currency) field in DocType 'Delivery Note'
+#. Label of the base_rounding_adjustment (Currency) field in DocType 'Purchase
+#. Receipt'
+#. Label of the rounding_adjustment (Currency) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -45191,13 +45960,13 @@ msgstr ""
msgid "Rounding Loss Allowance"
msgstr ""
-#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:45
+#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:55
#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:48
msgid "Rounding Loss Allowance should be between 0 and 1"
msgstr ""
-#: erpnext/controllers/stock_controller.py:828
-#: erpnext/controllers/stock_controller.py:843
+#: erpnext/controllers/stock_controller.py:847
+#: erpnext/controllers/stock_controller.py:862
msgid "Rounding gain/loss Entry for Stock Transfer"
msgstr ""
@@ -45220,49 +45989,49 @@ msgstr ""
msgid "Routing Name"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:225
+#: erpnext/controllers/sales_and_purchase_return.py:243
msgid "Row # {0}: Cannot return more than {1} for Item {2}"
-msgstr "行#{0}:無法返回超過{1}項{2}"
+msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:191
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:193
msgid "Row # {0}: Please add Serial and Batch Bundle for Item {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:210
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:212
msgid "Row # {0}: Please enter quantity for Item {1} as it is not zero."
msgstr ""
#: erpnext/controllers/sales_and_purchase_return.py:150
msgid "Row # {0}: Rate cannot be greater than the rate used in {1} {2}"
-msgstr "行#{0}:速率不能大於{1} {2}中使用的速率"
+msgstr ""
#: erpnext/controllers/sales_and_purchase_return.py:134
msgid "Row # {0}: Returned Item {1} does not exist in {2} {3}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:350
+#: erpnext/manufacturing/doctype/work_order/work_order.py:354
msgid "Row #1: Sequence ID must be 1 for Operation {0}."
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:564
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2130
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2136
msgid "Row #{0} (Payment Table): Amount must be negative"
-msgstr "行#{0}(付款表):金額必須為負數"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:562
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2125
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2131
msgid "Row #{0} (Payment Table): Amount must be positive"
-msgstr "行#{0}(付款表):金額必須為正值"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:565
msgid "Row #{0}: A reorder entry already exists for warehouse {1} with reorder type {2}."
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:333
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:378
msgid "Row #{0}: Acceptance Criteria Formula is incorrect."
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:313
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:358
msgid "Row #{0}: Acceptance Criteria Formula is required."
msgstr ""
@@ -45275,9 +46044,9 @@ msgstr ""
msgid "Row #{0}: Accepted Warehouse is mandatory for the accepted Item {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1321
+#: erpnext/controllers/accounts_controller.py:1326
msgid "Row #{0}: Account {1} does not belong to company {2}"
-msgstr "行#{0}:科目{1}不屬於公司{2}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:399
msgid "Row #{0}: Allocated Amount cannot be greater than Outstanding Amount of Payment Request {1}"
@@ -45286,7 +46055,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:375
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:480
msgid "Row #{0}: Allocated Amount cannot be greater than outstanding amount."
-msgstr "行#{0}:分配金額不能大於未結算金額。"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:492
msgid "Row #{0}: Allocated amount:{1} is greater than outstanding amount:{2} for Payment Term {3}"
@@ -45304,7 +46073,7 @@ msgstr ""
msgid "Row #{0}: Asset {1} is already sold"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:336
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:337
msgid "Row #{0}: BOM is not specified for subcontracting item {0}"
msgstr ""
@@ -45340,35 +46109,35 @@ msgstr ""
msgid "Row #{0}: Cannot create entry with different taxable AND withholding document links."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3824
+#: erpnext/controllers/accounts_controller.py:3864
msgid "Row #{0}: Cannot delete item {1} which has already been billed."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3798
+#: erpnext/controllers/accounts_controller.py:3838
msgid "Row #{0}: Cannot delete item {1} which has already been delivered"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3817
+#: erpnext/controllers/accounts_controller.py:3857
msgid "Row #{0}: Cannot delete item {1} which has already been received"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3804
+#: erpnext/controllers/accounts_controller.py:3844
msgid "Row #{0}: Cannot delete item {1} which has work order assigned to it."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3810
+#: erpnext/controllers/accounts_controller.py:3850
msgid "Row #{0}: Cannot delete item {1} which is already ordered against this Sales Order."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4131
+#: erpnext/controllers/accounts_controller.py:4172
msgid "Row #{0}: Cannot set Rate if the billed amount is greater than the amount for Item {1}."
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1149
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1162
msgid "Row #{0}: Cannot transfer more than Required Qty {1} for Item {2} against Job Card {3}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1315
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1338
msgid "Row #{0}: Cannot transfer {1} {2} of Item {3}. Maximum transferable quantity is {4} {2}."
msgstr ""
@@ -45418,11 +46187,11 @@ msgstr ""
msgid "Row #{0}: Customer Provided Item {1} cannot be added multiple times in the Subcontracting Inward process."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:427
+#: erpnext/manufacturing/doctype/work_order/work_order.py:431
msgid "Row #{0}: Customer Provided Item {1} cannot be added multiple times."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:452
+#: erpnext/manufacturing/doctype/work_order/work_order.py:456
msgid "Row #{0}: Customer Provided Item {1} does not exist in the Required Items table linked to the Subcontracting Inward Order."
msgstr ""
@@ -45430,7 +46199,7 @@ msgstr ""
msgid "Row #{0}: Customer Provided Item {1} exceeds quantity available through Subcontracting Inward Order"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:440
+#: erpnext/manufacturing/doctype/work_order/work_order.py:444
msgid "Row #{0}: Customer Provided Item {1} has insufficient quantity in the Subcontracting Inward Order. Available quantity is {2}."
msgstr ""
@@ -45447,7 +46216,7 @@ msgstr ""
msgid "Row #{0}: Dates overlapping with other row in group {1}"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:360
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:361
msgid "Row #{0}: Default BOM not found for FG Item {1}"
msgstr ""
@@ -45457,26 +46226,26 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:336
msgid "Row #{0}: Duplicate entry in References {1} {2}"
-msgstr "行#{0}:引用{1} {2}中的重複條目"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:332
msgid "Row #{0}: Expected Delivery Date cannot be before Purchase Order Date"
-msgstr "行#{0}:預計交貨日期不能在採購訂單日期之前"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:959
+#: erpnext/controllers/stock_controller.py:1058
msgid "Row #{0}: Expense Account not set for the Item {1}. {2}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:146
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:149
msgid "Row #{0}: Expense account {1} is not valid for Purchase Invoice {2}. Only expense accounts from non-stock items are allowed."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:365
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:366
#: erpnext/selling/doctype/sales_order/sales_order.py:305
msgid "Row #{0}: Finished Good Item Qty can not be zero"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:347
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:348
#: erpnext/selling/doctype/sales_order/sales_order.py:285
msgid "Row #{0}: Finished Good Item is not specified for service item {1}"
msgstr ""
@@ -45485,12 +46254,12 @@ msgstr ""
msgid "Row #{0}: Finished Good Item {1} cannot be added in the Secondary Items table."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:354
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:355
#: erpnext/selling/doctype/sales_order/sales_order.py:292
msgid "Row #{0}: Finished Good Item {1} must be a sub-contracted item"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:635
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:656
msgid "Row #{0}: Finished Good must be {1}"
msgstr ""
@@ -45503,11 +46272,11 @@ msgstr ""
msgid "Row #{0}: For Customer Provided Item {1}, Source Warehouse must be {2}"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:701
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:702
msgid "Row #{0}: For {1}, you can select reference document only if account gets credited"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:711
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:712
msgid "Row #{0}: For {1}, you can select reference document only if account gets debited"
msgstr ""
@@ -45523,11 +46292,11 @@ msgstr ""
msgid "Row #{0}: From Time and To Time fields are required"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:427
+#: erpnext/public/js/utils/barcode_scanner.js:435
msgid "Row #{0}: Item added"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1893
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1967
msgid "Row #{0}: Item {1} cannot be transferred more than {2} against {3} {4}"
msgstr ""
@@ -45535,7 +46304,7 @@ msgstr ""
msgid "Row #{0}: Item {1} does not exist"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1628
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1635
msgid "Row #{0}: Item {1} has been picked, please reserve stock from the Pick List."
msgstr ""
@@ -45543,7 +46312,7 @@ msgstr ""
msgid "Row #{0}: Item {1} has no stock in warehouse {2}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:184
+#: erpnext/controllers/stock_controller.py:203
msgid "Row #{0}: Item {1} has zero rate but '{2}' is not enabled."
msgstr ""
@@ -45555,7 +46324,7 @@ msgstr ""
msgid "Row #{0}: Item {1} is not a Customer Provided Item."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:769
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:771
msgid "Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it."
msgstr ""
@@ -45572,7 +46341,7 @@ msgstr ""
msgid "Row #{0}: Item {1} is not a stock item"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1083
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1104
msgid "Row #{0}: Item {1} is not part of the source manufacture entry and cannot be added to this disassembly."
msgstr ""
@@ -45584,13 +46353,13 @@ msgstr ""
msgid "Row #{0}: Item {1} mismatch. Changing of item code is not permitted."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1092
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1113
msgid "Row #{0}: Item {1} quantity ({2} in stock UOM) does not match the quantity derived from the source ({3}). Do not change the UOM, conversion factor or quantity of disassembly rows."
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:780
msgid "Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher"
-msgstr "行#{0}:日記條目{1}沒有帳戶{2}或已經對另一憑證匹配"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:679
msgid "Row #{0}: Next Depreciation Date cannot be before Available-for-use Date"
@@ -45602,9 +46371,9 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:673
msgid "Row #{0}: Not allowed to change Supplier as Purchase Order already exists"
-msgstr "行#{0}:不能更改供應商的採購訂單已經存在"
+msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1711
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1718
msgid "Row #{0}: Only {1} available to reserve for the Item {2}"
msgstr ""
@@ -45612,7 +46381,7 @@ msgstr ""
msgid "Row #{0}: Opening Accumulated Depreciation must be less than or equal to {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1147
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1168
msgid "Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}."
msgstr ""
@@ -45621,11 +46390,11 @@ msgstr ""
msgid "Row #{0}: Overconsumption of Customer Provided Item {1} against Work Order {2} is not allowed in the Subcontracting Inward process."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1054
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1055
msgid "Row #{0}: Please select Item Code in Assembly Items"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1057
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1058
msgid "Row #{0}: Please select the BOM No in Assembly Items"
msgstr ""
@@ -45633,15 +46402,15 @@ msgstr ""
msgid "Row #{0}: Please select the Finished Good Item against which this Customer Provided Item will be used."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1051
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1052
msgid "Row #{0}: Please select the Sub Assembly Warehouse"
msgstr ""
#: erpnext/stock/doctype/item/item.py:572
msgid "Row #{0}: Please set reorder quantity"
-msgstr "行#{0}:請設置再訂購數量"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:636
+#: erpnext/controllers/accounts_controller.py:641
msgid "Row #{0}: Please update deferred revenue/expense account in item row or default account in company master"
msgstr ""
@@ -45650,7 +46419,7 @@ msgstr ""
msgid "Row #{0}: Process Loss Percentage should be less than 100% for {1} Item {2}"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:425
+#: erpnext/public/js/utils/barcode_scanner.js:433
msgid "Row #{0}: Qty increased by {1}"
msgstr ""
@@ -45663,15 +46432,15 @@ msgstr ""
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:1545
+#: erpnext/controllers/stock_controller.py:1643
msgid "Row #{0}: Quality Inspection is required for Item {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1560
+#: erpnext/controllers/stock_controller.py:1658
msgid "Row #{0}: Quality Inspection {1} is not submitted for the item: {2}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1575
+#: erpnext/controllers/stock_controller.py:1673
msgid "Row #{0}: Quality Inspection {1} was rejected for item {2}"
msgstr ""
@@ -45679,28 +46448,36 @@ msgstr ""
msgid "Row #{0}: Quantity cannot be a non-positive number. Please increase the quantity or remove the Item {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1484
+#: erpnext/controllers/accounts_controller.py:1489
msgid "Row #{0}: Quantity for Item {1} cannot be zero."
msgstr ""
+#: erpnext/crm/doctype/opportunity/opportunity.py:152
+msgid "Row #{0}: Quantity must be greater than 0 for Item {1}"
+msgstr ""
+
#: erpnext/controllers/subcontracting_inward_controller.py:537
msgid "Row #{0}: Quantity of Item {1} cannot be more than {2} {3} against Subcontracting Inward Order {4}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1696
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1703
msgid "Row #{0}: Quantity to reserve for the Item {1} should be greater than 0."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:899
-#: erpnext/controllers/accounts_controller.py:911
+#: erpnext/controllers/accounts_controller.py:904
+#: erpnext/controllers/accounts_controller.py:916
#: erpnext/utilities/transaction_base.py:172
#: erpnext/utilities/transaction_base.py:178
msgid "Row #{0}: Rate must be same as {1}: {2} ({3} / {4})"
msgstr ""
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:316
+msgid "Row #{0}: Reading {1} {2} is not a valid number in the {3} number format. Use {4} as the decimal separator."
+msgstr ""
+
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1251
msgid "Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry"
-msgstr "行#{0}:參考文件類型必須是採購訂單之一,購買發票或日記帳分錄"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1237
msgid "Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning"
@@ -45714,7 +46491,7 @@ msgstr ""
msgid "Row #{0}: Rejected Warehouse is mandatory for the rejected Item {1}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:164
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:167
msgid "Row #{0}: Repair cost {1} exceeds available amount {2} for Purchase Invoice {3} and Account {4}"
msgstr ""
@@ -45735,18 +46512,17 @@ msgid "Row #{0}: Secondary Item Qty cannot be zero"
msgstr ""
#: erpnext/controllers/selling_controller.py:297
-msgid ""
-"Row #{0}: Selling rate for item {1} is lower than its {2}.\n"
+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"
"\t\t\t\t\tyou can disable '{5}' in {6} to bypass\n"
"\t\t\t\t\tthis validation."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:356
+#: erpnext/manufacturing/doctype/work_order/work_order.py:360
msgid "Row #{0}: Sequence ID must be {1} or {2} for Operation {3}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:339
+#: erpnext/controllers/stock_controller.py:358
msgid "Row #{0}: Serial No {1} does not belong to Batch {2}"
msgstr ""
@@ -45762,23 +46538,23 @@ msgstr ""
msgid "Row #{0}: Serial No(s) {1} are not a part of the linked Subcontracting Inward Order. Please select valid Serial No(s)."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:664
+#: erpnext/controllers/accounts_controller.py:669
msgid "Row #{0}: Service End Date cannot be before Invoice Posting Date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:658
+#: erpnext/controllers/accounts_controller.py:663
msgid "Row #{0}: Service Start Date cannot be greater than Service End Date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:652
+#: erpnext/controllers/accounts_controller.py:657
msgid "Row #{0}: Service Start and End Date is required for deferred accounting"
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:495
msgid "Row #{0}: Set Supplier for item {1}"
-msgstr "行#{0}:設置供應商項目{1}"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1061
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1062
msgid "Row #{0}: Since 'Track Semi Finished Goods' is enabled, the BOM {1} cannot be used for Sub Assembly Items"
msgstr ""
@@ -45786,19 +46562,19 @@ msgstr ""
msgid "Row #{0}: Source Warehouse must be same as Customer Warehouse {1} from the linked Subcontracting Inward Order"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:461
+#: erpnext/manufacturing/doctype/work_order/work_order.py:465
msgid "Row #{0}: Source Warehouse {1} for item {2} cannot be a customer warehouse."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:416
+#: erpnext/manufacturing/doctype/work_order/work_order.py:420
msgid "Row #{0}: Source Warehouse {1} for item {2} must be same as Source Warehouse {3} in the Work Order."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1349
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1372
msgid "Row #{0}: Source and Target Warehouse cannot be the same for Material Transfer"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1371
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1394
msgid "Row #{0}: Source, Target Warehouse and Inventory Dimensions cannot be the exact same for Material Transfer"
msgstr ""
@@ -45806,11 +46582,11 @@ msgstr ""
msgid "Row #{0}: Start Time must be before End Time"
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:213
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:217
msgid "Row #{0}: Status is mandatory"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:463
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:464
msgid "Row #{0}: Status must be {1} for Invoice Discounting {2}"
msgstr ""
@@ -45818,19 +46594,19 @@ msgstr ""
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:1641
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1648
msgid "Row #{0}: Stock cannot be reserved for a non-stock Item {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1654
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1661
msgid "Row #{0}: Stock cannot be reserved in group warehouse {1}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1668
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1675
msgid "Row #{0}: Stock is already reserved for the Item {1}."
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:528
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:540
msgid "Row #{0}: Stock is reserved for item {1} in warehouse {2}."
msgstr ""
@@ -45838,12 +46614,12 @@ msgstr ""
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:1234
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1682
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1236
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1689
msgid "Row #{0}: Stock not available to reserve for the Item {1} in Warehouse {2}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1315
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1321
msgid "Row #{0}: Stock quantity {1} ({2}) for item {3} cannot exceed {4}"
msgstr ""
@@ -45851,7 +46627,7 @@ msgstr ""
msgid "Row #{0}: Target Warehouse must be same as Customer Warehouse {1} from the linked Subcontracting Inward Order"
msgstr ""
-#: erpnext/controllers/stock_controller.py:352
+#: erpnext/controllers/stock_controller.py:371
msgid "Row #{0}: The batch {1} has already expired."
msgstr ""
@@ -45861,7 +46637,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/workstation/workstation.py:185
msgid "Row #{0}: Timings conflicts with row {1}"
-msgstr "行#{0}:與排時序衝突{1}"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:655
msgid "Row #{0}: Total Number of Depreciations cannot be less than or equal to Opening Number of Booked Depreciations"
@@ -45871,7 +46647,7 @@ msgstr ""
msgid "Row #{0}: Total Number of Depreciations must be greater than zero"
msgstr ""
-#: erpnext/controllers/stock_controller.py:136
+#: erpnext/controllers/stock_controller.py:155
msgid "Row #{0}: Warehouse {1} does not match with the warehouse {2} in Serial and Batch Bundle {3}."
msgstr ""
@@ -45883,7 +46659,7 @@ msgstr ""
msgid "Row #{0}: Work Order exists against full or partial quantity of Item {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:104
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:106
msgid "Row #{0}: You cannot use the inventory dimension '{1}' in Stock Reconciliation to modify the quantity or valuation rate. Stock reconciliation with inventory dimensions is intended solely for performing opening entries."
msgstr ""
@@ -45897,13 +46673,13 @@ msgstr ""
#: erpnext/public/js/controllers/buying.js:265
msgid "Row #{0}: {1} can not be negative for item {2}"
-msgstr "行#{0}:{1}不能為負值對項{2}"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:1223
+#: erpnext/controllers/stock_controller.py:1322
msgid "Row #{0}: {1} is mandatory for the Inventory Dimension {2}."
msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:326
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:371
msgid "Row #{0}: {1} is not a valid reading field. Please refer to the field description."
msgstr ""
@@ -45915,7 +46691,7 @@ msgstr ""
msgid "Row #{0}: {1} of {2} should be {3}. Please update the {1} or select a different account."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3938
+#: erpnext/controllers/accounts_controller.py:3979
msgid "Row #{0}:Quantity for Item {1} cannot be zero."
msgstr ""
@@ -45927,23 +46703,23 @@ msgstr ""
msgid "Row #{idx}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor."
msgstr ""
-#: erpnext/controllers/buying_controller.py:652
+#: erpnext/controllers/buying_controller.py:671
msgid "Row #{idx}: Item rate has been updated as per valuation rate since its an internal stock transfer."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1123
+#: erpnext/controllers/buying_controller.py:1142
msgid "Row #{idx}: Please enter a location for the asset item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:775
+#: erpnext/controllers/buying_controller.py:794
msgid "Row #{idx}: Received Qty must be equal to Accepted + Rejected Qty for Item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:788
+#: erpnext/controllers/buying_controller.py:807
msgid "Row #{idx}: {field_label} can not be negative for item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:741
+#: erpnext/controllers/buying_controller.py:760
msgid "Row #{idx}: {field_label} is mandatory."
msgstr ""
@@ -45951,7 +46727,7 @@ msgstr ""
msgid "Row #{idx}: {from_warehouse_field} and {to_warehouse_field} cannot be same."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1240
+#: erpnext/controllers/buying_controller.py:1259
msgid "Row #{idx}: {schedule_date} cannot be before {transaction_date}."
msgstr ""
@@ -46003,7 +46779,7 @@ msgstr ""
msgid "Row #{}: You cannot add positive quantities in a return invoice. Please remove item {} to complete the return."
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:237
+#: erpnext/stock/doctype/pick_list/pick_list.py:239
msgid "Row #{}: item {} has been picked already."
msgstr ""
@@ -46016,23 +46792,23 @@ msgstr ""
msgid "Row #{}: {} {} does not exist."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1527
+#: erpnext/stock/doctype/item/item.py:1537
msgid "Row #{}: {} {} doesn't belong to Company {}. Please select valid {}."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:440
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:450
msgid "Row No {0}: Warehouse is required. Please set a Default Warehouse for Item {1} and Company {2}"
msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.py:748
msgid "Row {0} : Operation is required against the raw material item {1}"
-msgstr "行{0}:對原材料項{1}需要操作"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:267
+#: erpnext/stock/doctype/pick_list/pick_list.py:269
msgid "Row {0} picked quantity is less than the required quantity, additional {1} {2} required."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1917
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1991
msgid "Row {0}# Item {1} not found in 'Raw Materials Supplied' table in {2} {3}"
msgstr ""
@@ -46040,39 +46816,39 @@ msgstr ""
msgid "Row {0}: Accepted Qty and Rejected Qty can't be zero at the same time."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:616
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:617
msgid "Row {0}: Account {1} and Party Type {2} have different account types"
msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:164
msgid "Row {0}: Activity Type is mandatory."
-msgstr "行{0}:活動類型是強制性的。"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:682
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:683
msgid "Row {0}: Advance against Customer must be credit"
-msgstr "行{0}:提前對客戶必須是信用"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:684
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:685
msgid "Row {0}: Advance against Supplier must be debit"
-msgstr "行{0}:提前對供應商必須扣除"
+msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:737
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:768
msgid "Row {0}: Allocated amount {1} must be less than or equal to invoice outstanding amount {2}"
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:729
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:760
msgid "Row {0}: Allocated amount {1} must be less than or equal to remaining payment amount {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1578
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1663
msgid "Row {0}: As {1} is enabled, raw materials cannot be added to {2} entry. Use {3} entry to consume raw materials."
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:854
+#: erpnext/stock/doctype/material_request/material_request.py:1052
msgid "Row {0}: Bill of Materials not found for the Item {1}"
-msgstr "行{0}:材料清單未找到項目{1}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:935
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:946
msgid "Row {0}: Both Debit and Credit values cannot be zero"
msgstr ""
@@ -46082,27 +46858,27 @@ msgstr ""
#: erpnext/controllers/selling_controller.py:289
msgid "Row {0}: Conversion Factor is mandatory"
-msgstr "列#{0}:轉換係數是強制性的"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:3265
+#: erpnext/controllers/accounts_controller.py:3270
msgid "Row {0}: Cost Center {1} does not belong to Company {2}"
msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:175
msgid "Row {0}: Cost center is required for an item {1}"
-msgstr "行{0}:項目{1}需要費用中心"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:781
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:782
msgid "Row {0}: Credit entry can not be linked with a {1}"
-msgstr "行{0}:信用記錄無法被鏈接的{1}"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:579
msgid "Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2}"
-msgstr "行{0}:BOM#的貨幣{1}應等於所選貨幣{2}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:776
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:777
msgid "Row {0}: Debit entry can not be linked with a {1}"
-msgstr "行{0}:借方條目不能與{1}連接"
+msgstr ""
#: erpnext/controllers/selling_controller.py:879
msgid "Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same"
@@ -46112,7 +46888,7 @@ msgstr ""
msgid "Row {0}: Delivery Warehouse cannot be same as Customer Warehouse for Item {1}."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2765
+#: erpnext/controllers/accounts_controller.py:2770
msgid "Row {0}: Due Date in the Payment Terms table cannot be before Posting Date"
msgstr ""
@@ -46120,10 +46896,10 @@ msgstr ""
msgid "Row {0}: Either Delivery Note Item or Packed Item reference is mandatory."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1026
-#: erpnext/controllers/taxes_and_totals.py:1377
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1037
+#: erpnext/controllers/taxes_and_totals.py:1382
msgid "Row {0}: Exchange Rate is mandatory"
-msgstr "行{0}:匯率是必須的"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:613
msgid "Row {0}: Expected Value After Useful Life cannot be negative"
@@ -46137,15 +46913,15 @@ msgstr ""
msgid "Row {0}: Expense Account {1} is linked to company {2}. Please select an account belonging to company {3}."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:530
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:540
msgid "Row {0}: Expense Head changed to {1} as no Purchase Receipt is created against Item {2}."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:487
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:497
msgid "Row {0}: Expense Head changed to {1} because account {2} is not linked to warehouse {3} or it is not the default inventory account"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:512
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:522
msgid "Row {0}: Expense Head changed to {1} because expense is booked against this account in Purchase Receipt {2}"
msgstr ""
@@ -46155,14 +46931,14 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:161
msgid "Row {0}: From Time and To Time is mandatory."
-msgstr "行{0}:從時間和時間是強制性的。"
+msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.py:326
#: erpnext/projects/doctype/timesheet/timesheet.py:225
msgid "Row {0}: From Time and To Time of {1} is overlapping with {2}"
-msgstr "行{0}:從時間和結束時間{1}是具有重疊{2}"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:1641
+#: erpnext/controllers/stock_controller.py:1739
msgid "Row {0}: From Warehouse is mandatory for internal transfers"
msgstr ""
@@ -46172,11 +46948,11 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:167
msgid "Row {0}: Hours value must be greater than zero."
-msgstr "行{0}:小時值必須大於零。"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:801
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:802
msgid "Row {0}: Invalid reference {1}"
-msgstr "行{0}:無效參考{1}"
+msgstr ""
#: erpnext/controllers/taxes_and_totals.py:135
msgid "Row {0}: Item Tax template updated as per validity and rate applied"
@@ -46206,7 +46982,7 @@ msgstr ""
msgid "Row {0}: Operation time should be greater than 0 for operation {1}"
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:585
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:597
msgid "Row {0}: Packed Qty must be equal to {1} Qty."
msgstr ""
@@ -46214,25 +46990,25 @@ msgstr ""
msgid "Row {0}: Packing Slip is already created for Item {1}."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:827
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:828
msgid "Row {0}: Party / Account does not match with {1} / {2} in {3} {4}"
-msgstr "行{0}:甲方/客戶不與匹配{1} / {2} {3} {4}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:605
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:606
msgid "Row {0}: Party Type and Party is required for Receivable / Payable account {1}"
-msgstr "行{0}:參與方類型和參與方需要應收/應付科目{1}"
+msgstr ""
#: erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py:45
msgid "Row {0}: Payment Term is mandatory"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:675
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:676
msgid "Row {0}: Payment against Sales/Purchase Order should always be marked as advance"
-msgstr "行{0}:付款方式對銷售/採購訂單應始終被標記為提前"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:668
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:669
msgid "Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry."
-msgstr "行{0}:請檢查'是進階'對科目{1},如果這是一個進階條目。"
+msgstr ""
#: erpnext/stock/doctype/packing_slip/packing_slip.py:141
msgid "Row {0}: Please provide a valid Delivery Note Item or Packed Item reference."
@@ -46274,7 +47050,7 @@ msgstr ""
msgid "Row {0}: Qty cannot be greater than {1} for the Item {2}."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:726
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:747
msgid "Row {0}: Qty in Stock UOM can not be zero."
msgstr ""
@@ -46286,15 +47062,15 @@ msgstr ""
msgid "Row {0}: Quantity cannot be negative."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1221
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1242
msgid "Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3})"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:933
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:939
msgid "Row {0}: Sales Invoice {1} is already created for {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:333
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:353
msgid "Row {0}: Serial/Batch has been reset to values linked with Work Order {1} because the previously selected serial/batch does not belong to this Work Order."
msgstr ""
@@ -46302,11 +47078,11 @@ msgstr ""
msgid "Row {0}: Shift cannot be changed since the depreciation has already been processed"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1930
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2004
msgid "Row {0}: Subcontracted Item is mandatory for the raw material {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1632
+#: erpnext/controllers/stock_controller.py:1730
msgid "Row {0}: Target Warehouse is mandatory for internal transfers"
msgstr ""
@@ -46314,15 +47090,15 @@ msgstr ""
msgid "Row {0}: Task {1} does not belong to Project {2}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:178
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:187
msgid "Row {0}: The entire expense amount for account {1} in {2} has already been allocated."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:772
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:793
msgid "Row {0}: The item {1}, quantity must be positive number"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3242
+#: erpnext/controllers/accounts_controller.py:3247
msgid "Row {0}: The {3} Account {1} does not belong to the company {2}"
msgstr ""
@@ -46330,32 +47106,32 @@ msgstr ""
msgid "Row {0}: To set {1} periodicity, difference between from and to date must be greater than or equal to {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3910
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3986
msgid "Row {0}: Transferred quantity cannot be greater than the requested quantity."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:720
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:741
msgid "Row {0}: UOM Conversion Factor is mandatory"
-msgstr "行{0}:計量單位轉換係數是必需的"
+msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:407
msgid "Row {0}: Update Stock must be checked for item {1} because it is against Pick List {2}."
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:173
+#: erpnext/stock/doctype/pick_list/pick_list.py:175
msgid "Row {0}: Warehouse is required"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:182
+#: erpnext/stock/doctype/pick_list/pick_list.py:184
msgid "Row {0}: Warehouse {1} is linked to company {2}. Please select a warehouse belonging to company {3}."
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1239
-#: erpnext/manufacturing/doctype/work_order/work_order.py:490
+#: erpnext/manufacturing/doctype/work_order/work_order.py:494
msgid "Row {0}: Workstation or Workstation Type is mandatory for an operation {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1203
+#: erpnext/controllers/accounts_controller.py:1208
msgid "Row {0}: user has not applied the rule {1} on the item {2}"
msgstr ""
@@ -46365,13 +47141,13 @@ msgstr ""
#: erpnext/assets/doctype/asset_category/asset_category.py:41
msgid "Row {0}: {1} must be greater than 0"
-msgstr "行{0}:{1}必須大於0"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:809
+#: erpnext/controllers/accounts_controller.py:814
msgid "Row {0}: {1} {2} cannot be same as {3} (Party Account) {4}"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:841
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:842
msgid "Row {0}: {1} {2} does not match with {3}"
msgstr ""
@@ -46387,7 +47163,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:1105
+#: erpnext/controllers/buying_controller.py:1124
msgid "Row {idx}: Asset Naming Series is mandatory for the auto creation of assets for item {item_code}."
msgstr ""
@@ -46413,15 +47189,15 @@ msgstr ""
msgid "Rows with Same Account heads will be merged on Ledger"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2776
+#: erpnext/controllers/accounts_controller.py:2781
msgid "Rows with duplicate due dates in other rows were found: {0}"
-msgstr "發現其他行中具有重複截止日期的行:{0}"
+msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.js:148
msgid "Rows: {0} have 'Payment Entry' as reference_type. This should not be set manually."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:302
+#: erpnext/controllers/accounts_controller.py:307
msgid "Rows: {0} in {1} section are Invalid. Reference Name should point to a valid Payment Entry or Journal Entry."
msgstr ""
@@ -46435,6 +47211,7 @@ msgstr ""
#. Label of the rule_description (Small Text) field in DocType 'Pricing Rule'
#. Label of the rule_description (Small Text) field in DocType 'Promotional
#. Scheme Price Discount'
+#. Label of the rule_description (Small Text) field in DocType 'Promotional
#. Scheme Product Discount'
#: banking/src/components/features/BankReconciliation/Rules/RuleForm.tsx:48
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.json
@@ -46513,7 +47290,7 @@ msgstr ""
#: erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py:28
msgid "S.O. No."
-msgstr "SO號"
+msgstr ""
#. Label of the scio_detail (Data) field in DocType 'Sales Invoice Item'
#. Label of the scio_detail (Data) field in DocType 'Stock Entry Detail'
@@ -46543,7 +47320,7 @@ msgstr ""
msgid "SLA Paused On"
msgstr ""
-#: erpnext/public/js/utils.js:1277
+#: erpnext/public/js/utils.js:1303
msgid "SLA is on hold since {0}"
msgstr ""
@@ -46564,7 +47341,7 @@ msgstr ""
#: erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py:43
msgid "SO Qty"
-msgstr "SO數量"
+msgstr ""
#: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:116
msgid "SO Total Qty"
@@ -46595,7 +47372,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:58
msgid "Safety Stock"
-msgstr "安全庫存"
+msgstr ""
#. Label of the salary_information (Tab Break) field in DocType 'Employee'
#. Label of the salary (Currency) field in DocType 'Employee External Work
@@ -46605,7 +47382,7 @@ msgstr "安全庫存"
#: erpnext/setup/doctype/employee/employee.json
#: erpnext/setup/doctype/employee_external_work_history/employee_external_work_history.json
msgid "Salary"
-msgstr "薪水"
+msgstr ""
#. Label of the salary_currency (Link) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -46633,30 +47410,30 @@ msgstr ""
#: erpnext/accounts/doctype/tax_category/tax_category_dashboard.py:9
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
#: erpnext/crm/doctype/opportunity/opportunity.js:288
-#: erpnext/crm/doctype/opportunity/opportunity.py:158
+#: erpnext/crm/doctype/opportunity/opportunity.py:168
#: erpnext/projects/doctype/project/project_dashboard.py:15
#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:145
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
-#: erpnext/setup/doctype/company/company.py:458
-#: erpnext/setup/doctype/company/company.py:650
+#: erpnext/setup/doctype/company/company.py:460
+#: erpnext/setup/doctype/company/company.py:652
#: erpnext/setup/doctype/company/company_dashboard.py:9
#: erpnext/setup/doctype/sales_person/sales_person_dashboard.py:12
#: erpnext/setup/install.py:423
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:297
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:300
#: erpnext/stock/doctype/item/item.json
#: erpnext/stock/doctype/item/item_list.js:29
#: erpnext/stock/doctype/pick_list/pick_list_dashboard.py:17
msgid "Sales"
-msgstr "銷售"
+msgstr ""
#: erpnext/stock/doctype/item/item_list.js:28
msgid "Sales & Purchase"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:650
+#: erpnext/setup/doctype/company/company.py:652
msgid "Sales Account"
-msgstr "銷售科目"
+msgstr ""
#. Name of a report
#. Label of a Link in the Selling Workspace
@@ -46665,7 +47442,7 @@ msgstr "銷售科目"
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/selling.json
msgid "Sales Analytics"
-msgstr "銷售分析"
+msgstr ""
#. Label of the sales_team (Table) field in DocType 'Sales Invoice'
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -46681,7 +47458,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:126
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:212
msgid "Sales Expenses"
-msgstr "銷售費用"
+msgstr ""
#. Label of the sales_forecast (Link) field in DocType 'Master Production
#. Schedule'
@@ -46709,10 +47486,11 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/selling.json
msgid "Sales Funnel"
-msgstr "銷售漏斗"
+msgstr ""
#. Label of the sales_incoming_rate (Currency) field in DocType 'Purchase
#. Invoice Item'
+#. Label of the sales_incoming_rate (Currency) field in DocType 'Purchase
#. Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -46749,8 +47527,8 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice_reference/sales_invoice_reference.json
#: erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html:5
#: erpnext/accounts/report/gross_profit/gross_profit.js:30
-#: erpnext/accounts/report/gross_profit/gross_profit.py:287
-#: erpnext/accounts/report/gross_profit/gross_profit.py:294
+#: erpnext/accounts/report/gross_profit/gross_profit.py:289
+#: erpnext/accounts/report/gross_profit/gross_profit.py:296
#: erpnext/crm/doctype/contract/contract.json
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json
@@ -46768,12 +47546,12 @@ msgstr ""
#: erpnext/workspace_sidebar/home.json erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Invoice"
-msgstr "銷售發票"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
msgid "Sales Invoice Advance"
-msgstr "銷售發票提前"
+msgstr ""
#. Label of the sales_invoice_item (Data) field in DocType 'Purchase Invoice
#. Item'
@@ -46782,7 +47560,7 @@ msgstr "銷售發票提前"
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
msgid "Sales Invoice Item"
-msgstr "銷售發票項目"
+msgstr ""
#. Label of the sales_invoice_no (Link) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -46796,7 +47574,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.json
msgid "Sales Invoice Payment"
-msgstr "銷售發票付款"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_reference/sales_invoice_reference.json
@@ -46806,7 +47584,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json
msgid "Sales Invoice Timesheet"
-msgstr "銷售發票時間表"
+msgstr ""
#. Label of the sales_invoices (Table) field in DocType 'POS Closing Entry'
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
@@ -46823,7 +47601,7 @@ msgstr ""
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Invoice Trends"
-msgstr "銷售發票趨勢"
+msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:182
msgid "Sales Invoice does not have Payments"
@@ -46849,9 +47627,9 @@ msgstr ""
msgid "Sales Invoice mode is activated in POS. Please create Sales Invoice instead."
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:598
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:610
msgid "Sales Invoice {0} has already been submitted"
-msgstr "銷售發票{0}已提交"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:591
msgid "Sales Invoice {0} must be deleted before cancelling this Sales Order"
@@ -46941,7 +47719,7 @@ msgstr ""
#: erpnext/setup/doctype/authorization_rule/authorization_rule.json
#: erpnext/stock/doctype/delivery_note/delivery_note.js:157
#: erpnext/stock/doctype/delivery_note/delivery_note.js:223
-#: erpnext/stock/doctype/material_request/material_request.js:236
+#: erpnext/stock/doctype/material_request/material_request.js:239
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -46954,7 +47732,7 @@ msgstr ""
#: erpnext/workspace_sidebar/selling.json
#: erpnext/workspace_sidebar/subcontracting.json
msgid "Sales Order"
-msgstr "銷售訂單"
+msgstr ""
#. Name of a report
#. Label of a Link in the Selling Workspace
@@ -46988,10 +47766,13 @@ msgstr ""
#. Item'
#. Name of a DocType
#. Label of the sales_order_item (Data) field in DocType 'Material Request
+#. Item'
#. Label of the sales_order_item (Data) field in DocType 'Pick List Item'
#. Label of the sales_order_item (Data) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the sales_order_item (Data) field in DocType 'Subcontracting Inward
#. Order Item'
+#. Label of the sales_order_item (Data) field in DocType 'Subcontracting Inward
#. Order Service Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -47010,7 +47791,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json
msgid "Sales Order Item"
-msgstr "銷售訂單項目"
+msgstr ""
#. Label of the sales_order_packed_item (Data) field in DocType 'Purchase Order
#. Item'
@@ -47043,11 +47824,11 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Order Trends"
-msgstr "銷售訂單趨勢"
+msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.py:285
msgid "Sales Order required for Item {0}"
-msgstr "所需的{0}項目銷售訂單"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:356
msgid "Sales Order {0} already exists against Customer's Purchase Order {1}. To allow multiple Sales Orders, Enable {2} in {3}"
@@ -47058,13 +47839,13 @@ msgstr ""
msgid "Sales Order {0} is not available for production"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1445
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1451
msgid "Sales Order {0} is not submitted"
-msgstr "銷售訂單{0}未提交"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:566
+#: erpnext/manufacturing/doctype/work_order/work_order.py:570
msgid "Sales Order {0} is not valid"
-msgstr "銷售訂單{0}無效"
+msgstr ""
#. Label of the sales_orders (Table) field in DocType 'Master Production
#. Schedule'
@@ -47077,9 +47858,9 @@ msgstr "銷售訂單{0}無效"
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.js:42
#: erpnext/selling/workspace/selling/selling.json
msgid "Sales Orders"
-msgstr "銷售訂單"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:345
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:346
msgid "Sales Orders Required"
msgstr ""
@@ -47103,6 +47884,7 @@ msgstr ""
#. Option for the 'Applicable For' (Select) field in DocType 'Promotional
#. Scheme'
#. Label of the sales_partner (Table MultiSelect) field in DocType 'Promotional
+#. Scheme'
#. Label of the sales_partner (Link) field in DocType 'Sales Invoice'
#. Label of the default_sales_partner (Link) field in DocType 'Customer'
#. Label of the sales_team_section (Section Break) field in DocType 'Customer'
@@ -47118,8 +47900,8 @@ msgstr ""
#: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:130
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1253
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:114
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1260
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:117
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:194
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:74
#: erpnext/selling/doctype/customer/customer.json
@@ -47134,7 +47916,7 @@ msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Partner"
-msgstr "銷售合作夥伴"
+msgstr ""
#. Label of the sales_partner (Link) field in DocType 'Sales Partner Item'
#: erpnext/accounts/doctype/sales_partner_item/sales_partner_item.json
@@ -47183,7 +47965,7 @@ msgstr ""
#. Label of the sales_partner_type (Data) field in DocType 'Sales Partner Type'
#: erpnext/selling/doctype/sales_partner_type/sales_partner_type.json
msgid "Sales Partner Type"
-msgstr "銷售夥伴類型"
+msgstr ""
#. Name of a report
#. Label of a Link in the Financial Reports Workspace
@@ -47195,7 +47977,7 @@ msgstr "銷售夥伴類型"
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Partners Commission"
-msgstr "銷售合作夥伴佣金"
+msgstr ""
#. Name of a report
#. Label of a Link in the Financial Reports Workspace
@@ -47204,7 +47986,7 @@ msgstr "銷售合作夥伴佣金"
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Sales Payment Summary"
-msgstr "銷售付款摘要"
+msgstr ""
#. Option for the 'Select Customers By' (Select) field in DocType 'Process
#. Statement Of Accounts'
@@ -47213,6 +47995,7 @@ msgstr "銷售付款摘要"
#. Label of a Link in the CRM Workspace
#. Label of the sales_person (Link) field in DocType 'Maintenance Schedule
#. Detail'
+#. Label of the sales_person (Link) field in DocType 'Maintenance Schedule
#. Item'
#. Label of the service_person (Link) field in DocType 'Maintenance Visit
#. Purpose'
@@ -47223,12 +48006,12 @@ msgstr "銷售付款摘要"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:158
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:136
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1250
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:120
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1257
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:123
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:191
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:80
#: erpnext/accounts/report/gross_profit/gross_profit.js:50
-#: erpnext/accounts/report/gross_profit/gross_profit.py:402
+#: erpnext/accounts/report/gross_profit/gross_profit.py:404
#: erpnext/crm/workspace/crm/crm.json
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
#: erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.json
@@ -47242,7 +48025,7 @@ msgstr "銷售付款摘要"
#: erpnext/setup/doctype/sales_person/sales_person.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/selling.json
msgid "Sales Person"
-msgstr "銷售人員"
+msgstr ""
#: erpnext/controllers/selling_controller.py:271
msgid "Sales Person {0} is disabled."
@@ -47251,7 +48034,7 @@ msgstr ""
#. Name of a report
#: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.json
msgid "Sales Person Commission Summary"
-msgstr "銷售人員委員會摘要"
+msgstr ""
#. Label of the sales_person_name (Data) field in DocType 'Sales Person'
#: erpnext/setup/doctype/sales_person/sales_person.json
@@ -47280,13 +48063,13 @@ msgstr ""
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Person-wise Transaction Summary"
-msgstr "銷售人員相關的交易匯總"
+msgstr ""
#. Label of a Workspace Sidebar Item
#: erpnext/selling/page/sales_funnel/sales_funnel.js:50
#: erpnext/workspace_sidebar/crm.json
msgid "Sales Pipeline"
-msgstr "銷售渠道"
+msgstr ""
#. Name of a report
#. Label of a Link in the CRM Workspace
@@ -47302,7 +48085,7 @@ msgstr ""
#: erpnext/stock/report/item_prices/item_prices.py:58
msgid "Sales Price List"
-msgstr "銷售價格表"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
@@ -47310,16 +48093,16 @@ msgstr "銷售價格表"
#: erpnext/workspace_sidebar/financial_reports.json
#: erpnext/workspace_sidebar/selling.json
msgid "Sales Register"
-msgstr "銷售登記"
+msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:28
msgid "Sales Representative"
msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:995
+#: erpnext/accounts/report/gross_profit/gross_profit.py:997
#: erpnext/stock/doctype/delivery_note/delivery_note.js:270
msgid "Sales Return"
-msgstr "銷貨退回"
+msgstr ""
#. Label of the sales_stage (Link) field in DocType 'Opportunity'
#. Name of a DocType
@@ -47331,19 +48114,19 @@ msgstr "銷貨退回"
#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:70
#: erpnext/crm/workspace/crm/crm.json erpnext/workspace_sidebar/crm.json
msgid "Sales Stage"
-msgstr "銷售階段"
+msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/closing_voucher_details.html:8
msgid "Sales Summary"
-msgstr "銷售摘要"
+msgstr ""
#. Label of the sales_tax_template (Link) field in DocType 'Tax Rule'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
-#: erpnext/setup/doctype/company/company.js:133
+#: erpnext/setup/doctype/company/company.js:144
#: erpnext/workspace_sidebar/taxes.json
msgid "Sales Tax Template"
-msgstr "銷售稅模板"
+msgstr ""
#. Label of the sales_tax_withholding_category (Link) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -47371,7 +48154,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Sales Taxes and Charges"
-msgstr "銷售稅金及費用"
+msgstr ""
#. Label of the sales_taxes_and_charges_template (Link) field in DocType
#. 'Payment Entry'
@@ -47395,7 +48178,7 @@ msgstr "銷售稅金及費用"
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Sales Taxes and Charges Template"
-msgstr "營業稅金及費用套版"
+msgstr ""
#. Label of the section_break2 (Section Break) field in DocType 'POS Invoice'
#. Label of the sales_team (Table) field in DocType 'POS Invoice'
@@ -47413,23 +48196,23 @@ msgstr "營業稅金及費用套版"
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/selling/doctype/sales_team/sales_team.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:247
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:250
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Sales Team"
-msgstr "銷售團隊"
+msgstr ""
-#: erpnext/selling/report/sales_order_trends/sales_order_trends.py:56
+#: erpnext/selling/report/sales_order_trends/sales_order_trends.py:62
msgid "Sales Value"
msgstr ""
#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:25
#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:41
msgid "Sales and Returns"
-msgstr "銷售和退貨"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:218
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:219
msgid "Sales orders are not available for production"
-msgstr "銷售訂單不可用於生產"
+msgstr ""
#. Label of the expected_value_after_useful_life (Currency) field in DocType
#. 'Asset Finance Book'
@@ -47445,7 +48228,7 @@ msgstr ""
#: erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py:41
msgid "Same Company is entered more than once"
-msgstr "同一家公司進入不止一次"
+msgstr ""
#. Label of the same_item (Check) field in DocType 'Pricing Rule'
#. Label of the same_item (Check) field in DocType 'Promotional Scheme Product
@@ -47459,17 +48242,17 @@ msgstr ""
msgid "Same day"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:608
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:610
msgid "Same item and warehouse combination already entered."
msgstr ""
#: erpnext/buying/utils.py:64
msgid "Same item cannot be entered multiple times."
-msgstr "同一項目不能輸入多次。"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:125
msgid "Same supplier has been entered multiple times"
-msgstr "同一個供應商已多次輸入"
+msgstr ""
#. Label of the sample_quantity (Int) field in DocType 'Purchase Receipt Item'
#. Label of the sample_quantity (Int) field in DocType 'Stock Entry Detail'
@@ -47491,20 +48274,20 @@ msgstr ""
#. Label of the sample_size (Float) field in DocType 'Quality Inspection'
#: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:93
-#: erpnext/public/js/controllers/transaction.js:2893
+#: erpnext/public/js/controllers/transaction.js:2882
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Sample Size"
-msgstr "樣本大小"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:4410
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:4489
msgid "Sample quantity {0} cannot be more than received quantity {1}"
-msgstr "採樣數量{0}不能超過接收數量{1}"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Invoice Discounting'
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting_list.js:7
msgid "Sanctioned"
-msgstr "制裁"
+msgstr ""
#. Option for the 'Action on New Invoice' (Select) field in DocType 'POS
#. Profile'
@@ -47542,7 +48325,7 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
-#: erpnext/public/js/utils/barcode_scanner.js:236
+#: erpnext/public/js/utils/barcode_scanner.js:241
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -47574,11 +48357,11 @@ msgstr ""
msgid "Scan Serial No"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:200
+#: erpnext/public/js/utils/barcode_scanner.js:205
msgid "Scan barcode for item {0}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:111
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js:100
msgid "Scan mode enabled, existing quantity will not be fetched."
msgstr ""
@@ -47588,20 +48371,20 @@ msgstr ""
msgid "Scanned Cheque"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:268
+#: erpnext/public/js/utils/barcode_scanner.js:273
msgid "Scanned Quantity"
msgstr ""
#. Label of the schedule_date (Date) field in DocType 'Depreciation Schedule'
#. Label of the schedule_date (Datetime) field in DocType 'Production Plan Sub
#. Assembly Item'
-#: erpnext/assets/doctype/asset/asset.js:383
+#: erpnext/assets/doctype/asset/asset.js:391
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
msgid "Schedule Date"
-msgstr "排定日期"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:538
+#: erpnext/public/js/controllers/transaction.js:543
msgid "Schedule Name"
msgstr ""
@@ -47610,7 +48393,7 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js:118
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
msgid "Scheduled Date"
-msgstr "預定日期"
+msgstr ""
#. Label of the scheduled_time (Datetime) field in DocType 'Appointment'
#. Label of the scheduled_time_section (Section Break) field in DocType 'Job
@@ -47650,6 +48433,10 @@ msgstr ""
msgid "Scheduler is inactive. Cannot merge accounts."
msgstr ""
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:232
+msgid "Scheduler is inactive. Reposting will only run once background jobs are processed."
+msgstr ""
+
#. Label of the schedules (Table) field in DocType 'Maintenance Schedule'
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.json
msgid "Schedules"
@@ -47685,15 +48472,14 @@ msgstr ""
#. Description of the 'Weighting Function' (Small Text) field in DocType
#. 'Supplier Scorecard'
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
-msgid ""
-"Scorecard variables can be used, as well as:\n"
+msgid "Scorecard variables can be used, as well as:\n"
"{total_score} (the total score from that period),\n"
"{period_number} (the number of periods to present day)\n"
msgstr ""
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py:10
msgid "Scorecards"
-msgstr "記分卡"
+msgstr ""
#. Label of the criteria (Table) field in DocType 'Supplier Scorecard'
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
@@ -47726,7 +48512,7 @@ msgstr ""
msgid "Scrap"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:168
+#: erpnext/assets/doctype/asset/asset.js:176
msgid "Scrap Asset"
msgstr ""
@@ -47743,7 +48529,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset/asset_list.js:16
msgid "Scrapped"
-msgstr "報廢"
+msgstr ""
#. Label of the search_apis_sb (Section Break) field in DocType 'Support
#. Settings'
@@ -47754,7 +48540,7 @@ msgstr ""
#: erpnext/stock/report/bom_search/bom_search.js:38
msgid "Search Sub Assemblies"
-msgstr "搜索子組件"
+msgstr ""
#. Label of the search_term_param_name (Data) field in DocType 'Support Search
#. Source'
@@ -47778,7 +48564,7 @@ msgstr ""
msgid "Search by item code, serial number or barcode"
msgstr ""
-#: banking/src/components/features/BankReconciliation/CompanySelector.tsx:64
+#: banking/src/components/features/BankReconciliation/CompanySelector.tsx:77
msgid "Search company..."
msgstr ""
@@ -47787,7 +48573,7 @@ msgstr ""
msgid "Search transactions"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:798
+#: erpnext/stock/doctype/item/item.js:804
msgid "Search values..."
msgstr ""
@@ -47871,7 +48657,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:177
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:301
msgid "Secured Loans"
-msgstr "抵押貸款"
+msgstr ""
#: erpnext/setup/setup_wizard/data/industry_type.txt:42
msgid "Securities & Commodity Exchanges"
@@ -47880,7 +48666,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:31
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:44
msgid "Securities and Deposits"
-msgstr "證券及存款"
+msgstr ""
#: erpnext/templates/pages/help.html:29
msgid "See All Articles"
@@ -47888,7 +48674,7 @@ msgstr ""
#: erpnext/templates/pages/help.html:56
msgid "See all open tickets"
-msgstr "查看所有打開的門票"
+msgstr ""
#: banking/src/components/common/AccountsDropdown.tsx:132
#: banking/src/components/common/AccountsDropdown.tsx:148
@@ -47901,29 +48687,29 @@ msgstr ""
#: erpnext/public/js/utils.js:572
msgid "Select Alternate Item"
-msgstr "選擇備用項目"
+msgstr ""
#: erpnext/selling/doctype/quotation/quotation.js:341
msgid "Select Alternative Items for Sales Order"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:924
+#: erpnext/stock/doctype/item/item.js:930
msgid "Select Attribute Values"
-msgstr "選擇屬性值"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1296
msgid "Select BOM"
-msgstr "選擇BOM"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1273
msgid "Select BOM and Qty for Production"
-msgstr "選擇BOM和數量生產"
+msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:234
-#: erpnext/public/js/utils/sales_common.js:443
-#: erpnext/stock/doctype/pick_list/pick_list.js:398
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:243
+#: erpnext/public/js/utils/sales_common.js:441
+#: erpnext/stock/doctype/pick_list/pick_list.js:399
msgid "Select Batch No"
-msgstr "選擇批號"
+msgstr ""
#. Label of the billing_address (Link) field in DocType 'Purchase Invoice'
#. Label of the billing_address (Link) field in DocType 'Subcontracting
@@ -47935,7 +48721,7 @@ msgstr ""
#: erpnext/public/js/stock_analytics.js:61
msgid "Select Brand..."
-msgstr "選擇品牌..."
+msgstr ""
#: erpnext/edi/doctype/code_list/code_list_import.js:110
msgid "Select Columns and Filters"
@@ -47943,7 +48729,7 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.js:156
msgid "Select Company"
-msgstr "選擇公司"
+msgstr ""
#: erpnext/public/js/print.js:118
msgid "Select Company Address"
@@ -47970,7 +48756,7 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:116
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:147
msgid "Select Default Supplier"
-msgstr "選擇默認供應商"
+msgstr ""
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js:276
msgid "Select Difference Account"
@@ -47987,7 +48773,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.js:705
msgid "Select Employees"
-msgstr "選擇僱員"
+msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:198
#: erpnext/selling/doctype/sales_order/sales_order.js:824
@@ -48004,13 +48790,13 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1667
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:493
msgid "Select Items"
-msgstr "選擇項目"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1525
msgid "Select Items based on Delivery Date"
-msgstr "根據交付日期選擇項目"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:2928
+#: erpnext/public/js/controllers/transaction.js:2917
msgid "Select Items for Quality Inspection"
msgstr ""
@@ -48019,7 +48805,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1325
msgid "Select Items to Manufacture"
-msgstr "選擇項目,以製造"
+msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:500
msgid "Select Items to Receive"
@@ -48035,33 +48821,33 @@ msgstr ""
msgid "Select Job Worker Address"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1222
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1231
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:966
msgid "Select Loyalty Program"
-msgstr "選擇忠誠度計劃"
+msgstr ""
-#: erpnext/public/js/controllers/transaction.js:524
+#: erpnext/public/js/controllers/transaction.js:529
msgid "Select Payment Schedule"
msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:411
msgid "Select Possible Supplier"
-msgstr "選擇潛在供應商"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1116
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1120
#: erpnext/stock/doctype/pick_list/pick_list.js:224
msgid "Select Quantity"
-msgstr "選擇數量"
+msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:234
-#: erpnext/public/js/utils/sales_common.js:443
-#: erpnext/stock/doctype/pick_list/pick_list.js:398
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:243
+#: erpnext/public/js/utils/sales_common.js:441
+#: erpnext/stock/doctype/pick_list/pick_list.js:399
msgid "Select Serial No"
-msgstr "選擇序列號"
+msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.js:237
-#: erpnext/public/js/utils/sales_common.js:446
-#: erpnext/stock/doctype/pick_list/pick_list.js:401
+#: erpnext/assets/doctype/asset_repair/asset_repair.js:246
+#: erpnext/public/js/utils/sales_common.js:444
+#: erpnext/stock/doctype/pick_list/pick_list.js:402
msgid "Select Serial and Batch"
msgstr ""
@@ -48078,9 +48864,13 @@ msgstr ""
msgid "Select Supplier Address"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.js:448
+msgid "Select Supplier for Items"
+msgstr ""
+
#: erpnext/stock/doctype/batch/batch.js:150
msgid "Select Target Warehouse"
-msgstr "選擇目標倉庫"
+msgstr ""
#: erpnext/www/book_appointment/index.js:73
msgid "Select Time"
@@ -48097,9 +48887,9 @@ msgstr ""
#: erpnext/public/js/stock_analytics.js:72
msgid "Select Warehouse..."
-msgstr "選擇倉庫..."
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:551
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:549
msgid "Select Warehouses to get Stock for Materials Planning"
msgstr ""
@@ -48127,6 +48917,11 @@ msgstr ""
msgid "Select a Supplier"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.js:552
+#: erpnext/stock/doctype/material_request/material_request.py:699
+msgid "Select a Supplier for Item {0}"
+msgstr ""
+
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:49
msgid "Select a bank account to reconcile"
msgstr ""
@@ -48146,13 +48941,14 @@ msgstr ""
msgid "Select all"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1266
+#: erpnext/stock/doctype/item/item.js:1272
msgid "Select an Item Group."
msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:36
+#: erpnext/accounts/report/general_ledger/general_ledger.py:839
msgid "Select an account to print in account currency"
-msgstr "選擇一個科目以科目貨幣進行打印"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:21
msgid "Select an invoice to load summary data"
@@ -48162,13 +48958,18 @@ msgstr ""
msgid "Select an item from each set to be used in the Sales Order."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:938
+#: erpnext/stock/doctype/material_request/material_request.js:539
+#: erpnext/stock/doctype/material_request/material_request.py:680
+msgid "Select at least one Item"
+msgstr ""
+
+#: erpnext/stock/doctype/item/item.js:944
msgid "Select at least one attribute value."
msgstr ""
#: erpnext/public/js/utils/party.js:379
msgid "Select company first"
-msgstr "首先選擇公司"
+msgstr ""
#. Description of the 'Parent Sales Person' (Link) field in DocType 'Sales
#. Person'
@@ -48180,7 +48981,7 @@ msgstr ""
msgid "Select date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3017
+#: erpnext/controllers/accounts_controller.py:3022
msgid "Select finance book for the item {0} at row {1}"
msgstr ""
@@ -48212,11 +49013,11 @@ msgstr ""
msgid "Select the Default Workstation where the Operation will be performed. This will be fetched in BOMs and Work Orders."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1225
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1236
msgid "Select the Item to be manufactured."
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:988
+#: erpnext/manufacturing/doctype/bom/bom.js:992
msgid "Select the Item to be manufactured. The Item name, UoM, Company, and Currency will be fetched automatically."
msgstr ""
@@ -48227,9 +49028,9 @@ msgstr ""
#: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py:47
msgid "Select the customer or supplier."
-msgstr "選擇客戶或供應商。"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:939
+#: erpnext/assets/doctype/asset/asset.js:947
msgid "Select the date"
msgstr ""
@@ -48247,7 +49048,7 @@ msgstr ""
msgid "Select the modules that you plan to implement"
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:1007
+#: erpnext/manufacturing/doctype/bom/bom.js:1011
msgid "Select the raw materials (Items) required to manufacture the Item"
msgstr ""
@@ -48255,9 +49056,8 @@ msgstr ""
msgid "Select variant item code for the template item {0}"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:708
-msgid ""
-"Select whether to get items from a Sales Order or a Material Request. For now select Sales Order.\n"
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:706
+msgid "Select whether to get items from a Sales Order or a Material Request. For now select Sales Order.\n"
" A Production Plan can also be created manually where you can select the Items to manufacture."
msgstr ""
@@ -48275,9 +49075,9 @@ msgstr ""
msgid "Selected POS Opening Entry should be open."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2626
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2632
msgid "Selected Price List should have buying and selling fields checked."
-msgstr "選定價目表應該有買入和賣出的字段。"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:122
msgid "Selected Print Format does not exist."
@@ -48306,30 +49106,30 @@ msgstr ""
msgid "Self delivery"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:646
+#: erpnext/assets/doctype/asset/asset.js:654
#: erpnext/stock/doctype/batch/batch_dashboard.py:9
#: erpnext/stock/doctype/item/item_dashboard.py:20
msgid "Sell"
-msgstr "賣"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:176
-#: erpnext/assets/doctype/asset/asset.js:635
+#: erpnext/assets/doctype/asset/asset.js:184
+#: erpnext/assets/doctype/asset/asset.js:643
msgid "Sell Asset"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:640
+#: erpnext/assets/doctype/asset/asset.js:648
msgid "Sell Qty"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:656
+#: erpnext/assets/doctype/asset/asset.js:664
msgid "Sell quantity cannot exceed the asset quantity"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1458
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1464
msgid "Sell quantity cannot exceed the asset quantity. Asset {0} has only {1} item(s)."
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:652
+#: erpnext/assets/doctype/asset/asset.js:660
msgid "Sell quantity must be greater than zero"
msgstr ""
@@ -48361,20 +49161,20 @@ msgstr ""
#: erpnext/stock/doctype/price_list/price_list.json
#: erpnext/workspace_sidebar/selling.json
msgid "Selling"
-msgstr "銷售"
+msgstr ""
-#: erpnext/accounts/report/gross_profit/gross_profit.py:361
+#: erpnext/accounts/report/gross_profit/gross_profit.py:363
msgid "Selling Amount"
-msgstr "銷售金額"
+msgstr ""
#: erpnext/stock/report/item_price_stock/item_price_stock.py:48
msgid "Selling Price List"
-msgstr "賣價格表"
+msgstr ""
#: erpnext/selling/report/customer_wise_item_price/customer_wise_item_price.py:36
#: erpnext/stock/report/item_price_stock/item_price_stock.py:54
msgid "Selling Rate"
-msgstr "賣出率"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Selling Workspace
@@ -48383,19 +49183,19 @@ msgstr "賣出率"
#: erpnext/selling/doctype/selling_settings/selling_settings.json
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:260
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:265
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Selling Settings"
-msgstr "銷售設置"
+msgstr ""
#. Title of the Module Onboarding 'Selling Onboarding'
#: erpnext/selling/module_onboarding/selling_onboarding/selling_onboarding.json
msgid "Selling Setup"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:214
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:232
msgid "Selling must be checked, if Applicable For is selected as {0}"
-msgstr "銷售必須進行檢查,如果適用於被選擇為{0}"
+msgstr ""
#. Label of the semi_finished_good__finished_good_section (Section Break) field
#. in DocType 'Job Card'
@@ -48441,10 +49241,10 @@ msgid "Send Emails to Suppliers"
msgstr ""
#. Label of the send_sms (Button) field in DocType 'SMS Center'
-#: erpnext/public/js/controllers/transaction.js:743
+#: erpnext/public/js/controllers/transaction.js:729
#: erpnext/selling/doctype/sms_center/sms_center.json
msgid "Send SMS"
-msgstr "發送短信"
+msgstr ""
#. Label of the send_to (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -48464,7 +49264,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:102
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:105
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Send to Subcontractor"
@@ -48476,6 +49276,11 @@ msgstr ""
msgid "Send with Attachment"
msgstr ""
+#: erpnext/accounts/doctype/payment_request/payment_request.js:51
+#: erpnext/accounts/doctype/payment_request/payment_request.js:55
+msgid "Sending Email"
+msgstr ""
+
#. Option for the 'Detected Amount Format' (Select) field in DocType 'Bank
#. Statement Import Log'
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.json
@@ -48541,13 +49346,17 @@ msgstr ""
#. Label of the serial_no (Text) field in DocType 'Asset Capitalization Stock
#. Item'
#. Label of the serial_no (Small Text) field in DocType 'Asset Repair Consumed
+#. Item'
#. Label of the serial_no (Text) field in DocType 'Purchase Receipt Item
#. Supplied'
#. Label of the serial_no (Small Text) field in DocType 'Maintenance Schedule
#. Detail'
+#. Label of the serial_no (Small Text) field in DocType 'Maintenance Schedule
+#. Item'
#. Label of the serial_no (Link) field in DocType 'Maintenance Visit Purpose'
#. Label of the serial_no (Small Text) field in DocType 'Job Card'
#. Label of the serial_no (Small Text) field in DocType 'Installation Note
+#. Item'
#. Label of the serial_no (Text) field in DocType 'Delivery Note Item'
#. Label of the serial_no (Text) field in DocType 'Packed Item'
#. Label of the serial_no (Small Text) field in DocType 'Pick List Item'
@@ -48558,8 +49367,10 @@ msgstr ""
#. Label of the serial_no (Text) field in DocType 'Stock Entry Detail'
#. Label of the serial_no (Long Text) field in DocType 'Stock Ledger Entry'
#. Label of the serial_no (Long Text) field in DocType 'Stock Reconciliation
+#. Item'
#. Label of a Link in the Stock Workspace
#. Label of the serial_no (Small Text) field in DocType 'Subcontracting Receipt
+#. Item'
#. Label of the serial_no (Text) field in DocType 'Subcontracting Receipt
#. Supplied Item'
#. Label of the serial_no (Link) field in DocType 'Warranty Claim'
@@ -48577,14 +49388,14 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.json
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.js:74
#: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:114
-#: erpnext/public/js/controllers/transaction.js:2906
+#: erpnext/public/js/controllers/transaction.js:2895
#: erpnext/public/js/utils/serial_no_batch_selector.js:432
#: erpnext/selling/doctype/installation_note_item/installation_note_item.json
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:169
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:170
#: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json
#: erpnext/stock/doctype/serial_no/serial_no.json
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -48597,7 +49408,7 @@ msgstr ""
#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:450
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:38
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:61
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:427
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:430
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
@@ -48605,7 +49416,7 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/stock.json
msgid "Serial No"
-msgstr "序列號"
+msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:140
msgid "Serial No (In/Out)"
@@ -48621,7 +49432,7 @@ msgstr ""
msgid "Serial No Already Assigned"
msgstr ""
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:33
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:39
msgid "Serial No Count"
msgstr ""
@@ -48638,7 +49449,7 @@ msgstr ""
msgid "Serial No Range"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2725
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2802
msgid "Serial No Reserved"
msgstr ""
@@ -48651,7 +49462,7 @@ msgstr ""
#: erpnext/stock/report/serial_no_service_contract_expiry/serial_no_service_contract_expiry.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Serial No Service Contract Expiry"
-msgstr "序號服務合同到期"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -48660,7 +49471,7 @@ msgstr "序號服務合同到期"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Serial No Status"
-msgstr "序列號狀態"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -48669,17 +49480,18 @@ msgstr "序列號狀態"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Serial No Warranty Expiry"
-msgstr "序列號保修到期"
+msgstr ""
#. Label of the serial_no_and_batch_section (Section Break) field in DocType
#. 'Pick List Item'
+#. Label of the serial_no_and_batch_section (Section Break) field in DocType
#. 'Stock Reconciliation Item'
#. Label of a Card Break in the Stock Workspace
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Serial No and Batch"
-msgstr "序列號和批次"
+msgstr ""
#: erpnext/stock/doctype/stock_settings/stock_settings.js:93
msgid "Serial No and Batch Selector cannot be use when Use Serial / Batch Fields is enabled."
@@ -48694,44 +49506,48 @@ msgstr ""
msgid "Serial No and Batch Traceability"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1229
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1295
msgid "Serial No is mandatory"
msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.py:77
msgid "Serial No is mandatory for Item {0}"
-msgstr "項目{0}的序列號是強制性的"
+msgstr ""
+
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:111
+msgid "Serial No status sync has been queued. Reload the report after a few minutes."
+msgstr ""
#: erpnext/public/js/utils/serial_no_batch_selector.js:603
msgid "Serial No {0} already exists"
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:342
+#: erpnext/public/js/utils/barcode_scanner.js:347
msgid "Serial No {0} already scanned"
msgstr ""
#: erpnext/selling/doctype/installation_note/installation_note.py:94
msgid "Serial No {0} does not belong to Delivery Note {1}"
-msgstr "序列號{0}不屬於送貨單{1}"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:321
msgid "Serial No {0} does not belong to Item {1}"
-msgstr "序列號{0}不屬於項目{1}"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py:52
#: erpnext/selling/doctype/installation_note/installation_note.py:84
msgid "Serial No {0} does not exist"
-msgstr "序列號{0}不存在"
+msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3514
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3591
msgid "Serial No {0} does not exists"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:378
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:379
msgid "Serial No {0} is already Delivered. You cannot use them again in Manufacture / Repack entry."
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:435
+#: erpnext/public/js/utils/barcode_scanner.js:443
msgid "Serial No {0} is already added"
msgstr ""
@@ -48739,31 +49555,31 @@ msgstr ""
msgid "Serial No {0} is already assigned to customer {1}. Can only be returned against the customer {1}"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:483
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:534
msgid "Serial No {0} is not present in the {1} {2}, hence you can't return it against the {1} {2}"
msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:338
msgid "Serial No {0} is under maintenance contract upto {1}"
-msgstr "序列號{0}在維護合約期間內直到{1}"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:331
msgid "Serial No {0} is under warranty upto {1}"
-msgstr "序列號{0}在保修期內直到{1}"
+msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:317
msgid "Serial No {0} not found"
-msgstr "序列號{0}未找到"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_controller.js:846
msgid "Serial No: {0} has already been transacted into another POS Invoice."
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:292
+#: erpnext/public/js/utils/barcode_scanner.js:297
#: erpnext/public/js/utils/serial_no_batch_selector.js:16
#: erpnext/public/js/utils/serial_no_batch_selector.js:201
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.js:50
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:169
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:170
msgid "Serial Nos"
msgstr ""
@@ -48777,15 +49593,15 @@ msgstr ""
msgid "Serial Nos / Batches"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2008
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2074
msgid "Serial Nos are created successfully"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2311
+#: erpnext/stock/stock_ledger.py:2373
msgid "Serial Nos are reserved in Stock Reservation Entries, you need to unreserve them before proceeding."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:384
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:385
msgid "Serial Nos {0} are already Delivered. You cannot use them again in Manufacture / Repack entry."
msgstr ""
@@ -48808,6 +49624,7 @@ msgstr ""
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Purchase
#. Invoice Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Sales Invoice
+#. Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Asset
#. Capitalization Stock Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Asset Repair
@@ -48818,8 +49635,11 @@ msgstr ""
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Installation
#. Note Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Delivery Note
+#. Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Packed Item'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Pick List
+#. Item'
+#. Label of the serial_and_batch_bundle (Link) field in DocType 'Purchase
#. Receipt Item'
#. Name of a DocType
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Stock Entry
@@ -48829,6 +49649,7 @@ msgstr ""
#. Label of the auto_bundle_section (Section Break) field in DocType 'Stock
#. Settings'
#. Label of the serial_and_batch_bundle (Link) field in DocType 'Subcontracting
+#. Receipt Item'
#. Label of a Workspace Sidebar Item
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
@@ -48850,26 +49671,26 @@ msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.py:188
#: erpnext/stock/report/incorrect_serial_and_batch_bundle/incorrect_serial_and_batch_bundle.py:31
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:80
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:411
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:188
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:414
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:197
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/workspace_sidebar/stock.json
msgid "Serial and Batch Bundle"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1122
+#: erpnext/stock/doctype/item/item.py:1132
msgid "Serial and Batch Bundle Exists"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2230
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2303
msgid "Serial and Batch Bundle created"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2324
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2399
msgid "Serial and Batch Bundle updated"
msgstr ""
-#: erpnext/controllers/stock_controller.py:232
+#: erpnext/controllers/stock_controller.py:251
msgid "Serial and Batch Bundle {0} is already used in {1} {2}."
msgstr ""
@@ -48877,7 +49698,7 @@ msgstr ""
msgid "Serial and Batch Bundle {0} is not submitted"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2300
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2373
msgid "Serial and Batch Bundle {0} is submitted and its entries cannot be modified."
msgstr ""
@@ -48901,7 +49722,7 @@ msgstr ""
msgid "Serial and Batch No"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:152
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:153
msgid "Serial and Batch No for Item Disabled"
msgstr ""
@@ -48931,7 +49752,7 @@ msgstr ""
#: erpnext/stock/utils.py:405
msgid "Serial number {0} entered more than once"
-msgstr "序號{0}多次輸入"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_details.js:451
msgid "Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse."
@@ -48942,9 +49763,9 @@ msgstr ""
msgid "Series for Asset Depreciation Entry (Journal Entry)"
msgstr ""
-#: erpnext/buying/doctype/supplier/supplier.py:143
+#: erpnext/buying/doctype/supplier/supplier.py:147
msgid "Series is mandatory"
-msgstr "系列是強制性的"
+msgstr ""
#. Label of the service_address (Small Text) field in DocType 'Warranty Claim'
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
@@ -48953,6 +49774,7 @@ msgstr ""
#. Label of the service_cost_per_qty (Currency) field in DocType
#. 'Subcontracting Order Item'
+#. Label of the service_cost_per_qty (Currency) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -49031,6 +49853,7 @@ msgstr ""
#. 'Subcontracting Inward Order'
#. Label of the service_items (Table) field in DocType 'Subcontracting Inward
#. Order'
+#. Label of the service_items_section (Section Break) field in DocType
#. 'Subcontracting Order'
#. Label of the service_items (Table) field in DocType 'Subcontracting Order'
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json
@@ -49070,7 +49893,7 @@ msgstr ""
msgid "Service Level Agreement for {0} {1} already exists."
msgstr ""
-#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:771
+#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:774
msgid "Service Level Agreement has been changed to {0}."
msgstr ""
@@ -49131,21 +49954,21 @@ msgid "Service Stop Date"
msgstr ""
#: erpnext/accounts/deferred_revenue.py:45
-#: erpnext/public/js/controllers/transaction.js:1815
+#: erpnext/public/js/controllers/transaction.js:1804
msgid "Service Stop Date cannot be after Service End Date"
-msgstr "服務停止日期不能在服務結束日期之後"
+msgstr ""
#: erpnext/accounts/deferred_revenue.py:42
-#: erpnext/public/js/controllers/transaction.js:1812
+#: erpnext/public/js/controllers/transaction.js:1801
msgid "Service Stop Date cannot be before Service Start Date"
-msgstr "服務停止日期不能早於服務開始日期"
+msgstr ""
#. Label of the service_items (Table) field in DocType 'Asset Capitalization'
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:52
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:204
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:55
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:207
msgid "Services"
-msgstr "服務"
+msgstr ""
#. Label of the set_warehouse (Link) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -49160,7 +49983,7 @@ msgstr ""
#. Label of the set_basic_rate_manually (Check) field in DocType 'Stock Entry
#. Detail'
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:400
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:420
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Set Basic Rate Manually"
msgstr ""
@@ -49211,13 +50034,13 @@ msgstr ""
msgid "Set Landed Cost Based on Purchase Invoice Rate"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1234
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1243
msgid "Set Loyalty Program"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:315
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:314
msgid "Set New Release Date"
-msgstr "設置新的發布日期"
+msgstr ""
#. Label of the set_op_cost_and_secondary_items_from_sub_assemblies (Check)
#. field in DocType 'Manufacturing Settings'
@@ -49240,7 +50063,7 @@ msgstr ""
msgid "Set Posting Date"
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:1034
+#: erpnext/manufacturing/doctype/bom/bom.js:1038
msgid "Set Process Loss Item Quantity"
msgstr ""
@@ -49276,7 +50099,7 @@ msgstr ""
#. Label of the set_warehouse (Link) field in DocType 'Sales Order'
#. Label of the set_warehouse (Link) field in DocType 'Delivery Note'
#. Label of the set_from_warehouse (Link) field in DocType 'Material Request'
-#: erpnext/public/js/utils/sales_common.js:568
+#: erpnext/public/js/utils/sales_common.js:566
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/material_request/material_request.json
@@ -49287,6 +50110,10 @@ msgstr ""
msgid "Set Supplier"
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.js:455
+msgid "Set Supplier for All Items"
+msgstr ""
+
#. Label of the set_target_warehouse (Link) field in DocType 'Sales Invoice'
#. Label of the set_warehouse (Link) field in DocType 'Purchase Order'
#. Label of the set_target_warehouse (Link) field in DocType 'Delivery Note'
@@ -49294,7 +50121,7 @@ msgstr ""
#. Label of the set_warehouse (Link) field in DocType 'Subcontracting Order'
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
-#: erpnext/public/js/utils/sales_common.js:565
+#: erpnext/public/js/utils/sales_common.js:563
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/material_request/material_request.json
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
@@ -49314,26 +50141,27 @@ msgstr ""
#: erpnext/crm/doctype/opportunity/opportunity_list.js:17
#: erpnext/support/doctype/issue/issue_list.js:12
msgid "Set as Closed"
-msgstr "設置為關閉"
+msgstr ""
#: erpnext/projects/doctype/task/task_list.js:20
msgid "Set as Completed"
msgstr ""
-#: erpnext/public/js/utils/sales_common.js:592
+#: erpnext/public/js/utils/sales_common.js:590
#: erpnext/selling/doctype/quotation/quotation.js:146
msgid "Set as Lost"
-msgstr "設為失落"
+msgstr ""
#: erpnext/crm/doctype/opportunity/opportunity_list.js:13
#: erpnext/projects/doctype/task/task_list.js:16
#: erpnext/support/doctype/issue/issue_list.js:8
msgid "Set as Open"
-msgstr "設置為打開"
+msgstr ""
#. Label of the set_by_item_tax_template (Check) field in DocType 'Advance
#. Taxes and Charges'
#. Label of the set_by_item_tax_template (Check) field in DocType 'Purchase
+#. Taxes and Charges'
#. Label of the set_by_item_tax_template (Check) field in DocType 'Sales Taxes
#. and Charges'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
@@ -49346,11 +50174,11 @@ msgstr ""
msgid "Set closing balance as per bank statement"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:548
+#: erpnext/setup/doctype/company/company.py:550
msgid "Set default inventory account for perpetual inventory"
-msgstr "設置永久庫存的默認庫存科目"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:574
+#: erpnext/setup/doctype/company/company.py:576
msgid "Set default {0} account for non stock items"
msgstr ""
@@ -49366,7 +50194,7 @@ msgstr ""
msgid "Set incoming rate as zero for expired Batch"
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:1024
+#: erpnext/manufacturing/doctype/bom/bom.js:1028
msgid "Set quantity of process loss item:"
msgstr ""
@@ -49382,7 +50210,7 @@ msgstr ""
msgid "Set targets Item Group-wise for this Sales Person."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1282
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1293
msgid "Set the Planned Start Date (an Estimated Date at which you want the Production to begin)"
msgstr ""
@@ -49423,7 +50251,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:1235
msgid "Set {0} in asset category {1} or company {2}"
-msgstr "在資產類別{1}或公司{2}中設置{0}"
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:1232
msgid "Set {0} in company {1}"
@@ -49472,7 +50300,7 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:129
msgid "Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}"
-msgstr "設置活動為{0},因為附連到下面的銷售者的僱員不具有用戶ID {1}"
+msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.js:98
msgid "Setting Item Locations..."
@@ -49480,7 +50308,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/setup_wizard.py:26
msgid "Setting defaults"
-msgstr "設置默認值"
+msgstr ""
#. Description of the 'Is Company Account' (Check) field in DocType 'Bank
#. Account'
@@ -49493,7 +50321,7 @@ msgid "Setting up company"
msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.py:1218
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1586
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1645
msgid "Setting {0} is required"
msgstr ""
@@ -49568,7 +50396,7 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/share_management.json
msgid "Share Balance"
-msgstr "份額平衡"
+msgstr ""
#. Name of a report
#. Label of a Link in the Invoicing Workspace
@@ -49597,7 +50425,7 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/share_management.json
msgid "Share Transfer"
-msgstr "股份轉讓"
+msgstr ""
#. Label of the share_type (Link) field in DocType 'Share Balance'
#. Label of the share_type (Link) field in DocType 'Share Transfer'
@@ -49608,7 +50436,7 @@ msgstr "股份轉讓"
#: erpnext/accounts/report/share_balance/share_balance.py:58
#: erpnext/accounts/report/share_ledger/share_ledger.py:54
msgid "Share Type"
-msgstr "分享類型"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Invoicing Workspace
@@ -49621,7 +50449,7 @@ msgstr "分享類型"
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/share_management.json
msgid "Shareholder"
-msgstr "股東"
+msgstr ""
#. Label of the shelf_life_in_days (Int) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -49633,7 +50461,7 @@ msgid "Shelf Life in Days"
msgstr ""
#. Label of the shift (Link) field in DocType 'Depreciation Schedule'
-#: erpnext/assets/doctype/asset/asset.js:396
+#: erpnext/assets/doctype/asset/asset.js:404
#: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json
msgid "Shift"
msgstr ""
@@ -49705,9 +50533,9 @@ msgstr ""
msgid "Shipment details"
msgstr ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:769
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:781
msgid "Shipments"
-msgstr "發貨"
+msgstr ""
#. Label of the account (Link) field in DocType 'Shipping Rule'
#: erpnext/accounts/doctype/shipping_rule/shipping_rule.json
@@ -49716,8 +50544,11 @@ msgstr ""
#. Label of the shipping_address_display (Text Editor) field in DocType
#. 'Purchase Order'
+#. Label of the shipping_address_display (Text Editor) field in DocType
#. 'Request for Quotation'
+#. Label of the shipping_address_display (Text Editor) field in DocType
#. 'Supplier Quotation'
+#. Label of the shipping_address_display (Text Editor) field in DocType
#. 'Subcontracting Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
@@ -49740,13 +50571,13 @@ msgstr ""
msgid "Shipping Address Template"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:595
+#: erpnext/controllers/accounts_controller.py:600
msgid "Shipping Address does not belong to the {0}"
msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:134
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:133
msgid "Shipping Address does not have country, which is required for this Shipping Rule"
-msgstr "送貨地址沒有國家,這是此送貨規則所必需的"
+msgstr ""
#. Label of the shipping_amount (Currency) field in DocType 'Shipping Rule'
#. Label of the shipping_amount (Currency) field in DocType 'Shipping Rule
@@ -49798,12 +50629,12 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/selling.json erpnext/workspace_sidebar/stock.json
msgid "Shipping Rule"
-msgstr "送貨規則"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.json
msgid "Shipping Rule Condition"
-msgstr "送貨規則條件"
+msgstr ""
#. Label of the rule_conditions_section (Section Break) field in DocType
#. 'Shipping Rule'
@@ -49815,7 +50646,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/shipping_rule_country/shipping_rule_country.json
msgid "Shipping Rule Country"
-msgstr "航運規則國家"
+msgstr ""
#. Label of the label (Data) field in DocType 'Shipping Rule'
#: erpnext/accounts/doctype/shipping_rule/shipping_rule.json
@@ -49837,17 +50668,17 @@ msgstr ""
msgid "Shipping Zipcode"
msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:138
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:137
msgid "Shipping rule not applicable for country {0} in Shipping Address"
msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:157
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:156
msgid "Shipping rule only applicable for Buying"
-msgstr "運費規則只適用於購買"
+msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:152
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:151
msgid "Shipping rule only applicable for Selling"
-msgstr "運費規則僅適用於銷售"
+msgstr ""
#. Option for the 'Order Type' (Select) field in DocType 'Quotation'
#. Label of the shopping_cart_section (Section Break) field in DocType
@@ -49888,9 +50719,9 @@ msgstr ""
msgid "Short-term Provisions"
msgstr ""
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:225
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:233
msgid "Shortage Qty"
-msgstr "短缺數量"
+msgstr ""
#: banking/src/components/features/Settings/KeyboardShortcuts.tsx:85
msgid "Shortcut"
@@ -49919,13 +50750,13 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:109
msgid "Show Cumulative Amount"
-msgstr "顯示累計金額"
+msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.js:143
msgid "Show Dimension Wise Stock"
msgstr ""
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:29
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:53
msgid "Show Disabled Items"
msgstr ""
@@ -49942,14 +50773,14 @@ msgstr ""
#. Label of the show_future_payments (Check) field in DocType 'Process
#. Statement Of Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:141
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:158
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:131
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:144
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:161
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:134
msgid "Show Future Payments"
msgstr ""
-#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:118
-#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:136
+#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:121
+#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:139
msgid "Show GL Balance"
msgstr ""
@@ -49983,7 +50814,7 @@ msgstr ""
msgid "Show Ledger View"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:163
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:166
msgid "Show Linked Delivery Notes"
msgstr ""
@@ -50017,7 +50848,7 @@ msgstr ""
#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.js:40
msgid "Show Payment Details"
-msgstr "顯示付款詳情"
+msgstr ""
#. Label of the show_payment_schedule_in_print (Check) field in DocType
#. 'Accounts Settings'
@@ -50028,8 +50859,8 @@ msgstr ""
#. Label of the show_remarks (Check) field in DocType 'Process Statement Of
#. Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
-#: erpnext/accounts/report/accounts_payable/accounts_payable.js:136
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:173
+#: erpnext/accounts/report/accounts_payable/accounts_payable.js:139
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:176
#: erpnext/accounts/report/general_ledger/general_ledger.js:219
msgid "Show Remarks"
msgstr ""
@@ -50037,9 +50868,9 @@ msgstr ""
#: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.js:65
#: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.js:65
msgid "Show Return Entries"
-msgstr "顯示返回條目"
+msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:168
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:171
msgid "Show Sales Person"
msgstr ""
@@ -50049,11 +50880,11 @@ msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.js:121
msgid "Show Variant Attributes"
-msgstr "顯示變體屬性"
+msgstr ""
#: erpnext/stock/doctype/item/item.js:201
msgid "Show Variants"
-msgstr "顯示變體"
+msgstr ""
#: erpnext/stock/report/stock_ageing/stock_ageing.js:64
msgid "Show Warehouse-wise Stock"
@@ -50102,7 +50933,7 @@ msgstr ""
#: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.js:35
msgid "Show only POS"
-msgstr "只顯示POS"
+msgstr ""
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js:107
msgid "Show only the Immediate Upcoming Term"
@@ -50126,7 +50957,7 @@ msgstr ""
#: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.js:80
#: erpnext/accounts/report/trial_balance/trial_balance.js:100
msgid "Show unclosed fiscal year's P&L balances"
-msgstr "顯示未關閉的會計年度的盈虧平衡"
+msgstr ""
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:96
msgid "Show with upcoming revenue/expense"
@@ -50140,7 +50971,7 @@ msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.js:95
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:81
msgid "Show zero values"
-msgstr "顯示零值"
+msgstr ""
#: erpnext/accounts/doctype/accounting_dimension/accounting_dimension.js:35
msgid "Show {0}"
@@ -50201,11 +51032,11 @@ msgstr ""
#. Description of the 'Acceptance Criteria Formula' (Code) field in DocType
#. 'Item Quality Inspection Parameter'
+#. Description of the 'Acceptance Criteria Formula' (Code) field in DocType
#. 'Quality Inspection Reading'
#: erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
#: erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
-msgid ""
-"Simple Python formula applied on Reading fields.
Numeric eg. 1: reading_1 > 0.2 and reading_1 < 0.5
\n"
+msgid "Simple Python formula applied on Reading fields.
Numeric eg. 1: reading_1 > 0.2 and reading_1 < 0.5
\n"
"Numeric eg. 2: mean > 3.5 (mean of populated fields)
\n"
"Value based eg.: reading_value in (\"A\", \"B\", \"C\")"
msgstr ""
@@ -50216,7 +51047,7 @@ msgstr ""
msgid "Simultaneous"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:850
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:871
msgid "Since there is a process loss of {0} units for the finished good {1}, you should reduce the quantity by {0} units for the finished good {1} in the Items Table."
msgstr ""
@@ -50252,7 +51083,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.js:226
msgid "Single Variant"
-msgstr "單一變種"
+msgstr ""
#. Label of the skip_delivery_note (Check) field in DocType 'Sales Order'
#: erpnext/selling/doctype/sales_order/sales_order.json
@@ -50291,7 +51122,7 @@ msgstr ""
msgid "Slug/Cubic Foot"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:272
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:275
msgid "Small"
msgstr ""
@@ -50328,7 +51159,7 @@ msgstr ""
msgid "Solvency Ratios"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4389
+#: erpnext/controllers/accounts_controller.py:4430
msgid "Some required Company details are missing. You don't have permission to update them. Please contact your System Manager."
msgstr ""
@@ -50392,7 +51223,7 @@ msgstr ""
msgid "Source Location"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1026
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1030
msgid "Source Manufacture Entry"
msgstr ""
@@ -50401,11 +51232,11 @@ msgstr ""
msgid "Source Stock Entry (Manufacture)"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1012
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1033
msgid "Source Stock Entry {0} belongs to Work Order {1}, not {2}. Please use a manufacture entry from the same Work Order."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2680
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2756
msgid "Source Stock Entry {0} has no finished goods quantity"
msgstr ""
@@ -50439,14 +51270,14 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:126
-#: erpnext/public/js/utils/sales_common.js:564
+#: erpnext/public/js/utils/sales_common.js:562
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/dashboard/item_dashboard.js:227
#: erpnext/stock/doctype/material_request_item/material_request_item.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:820
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:796
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Source Warehouse"
-msgstr "來源倉庫"
+msgstr ""
#. Label of the source_address_display (Text Editor) field in DocType 'Stock
#. Entry'
@@ -50459,36 +51290,36 @@ msgstr ""
msgid "Source Warehouse Address Link"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1164
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1166
msgid "Source Warehouse is mandatory for the Item {0}."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:375
+#: erpnext/manufacturing/doctype/work_order/work_order.py:379
msgid "Source Warehouse {0} must be same as Customer Warehouse {1} in the Subcontracting Inward Order."
msgstr ""
#: erpnext/assets/doctype/asset_movement/asset_movement.py:85
msgid "Source and Target Location cannot be same"
-msgstr "源和目標位置不能相同"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:978
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:999
msgid "Source and target warehouse cannot be same for row {0}"
-msgstr "列{0}的來源和目標倉庫不可相同"
+msgstr ""
#: erpnext/stock/dashboard/item_dashboard.js:295
msgid "Source and target warehouse must be different"
-msgstr "源和目標倉庫必須是不同的"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:152
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:254
msgid "Source of Funds (Liabilities)"
-msgstr "資金來源(負債)"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:945
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:961
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:968
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:966
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:982
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:989
msgid "Source warehouse is mandatory for row {0}"
-msgstr "列{0}的來源倉是必要的"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:455
msgid "Source warehouse required for stock item {0}"
@@ -50533,15 +51364,15 @@ msgstr ""
msgid "Spent"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:696
+#: erpnext/assets/doctype/asset/asset.js:704
#: erpnext/stock/doctype/batch/batch.js:104
#: erpnext/stock/doctype/batch/batch.js:185
#: erpnext/support/doctype/issue/issue.js:114
msgid "Split"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:152
-#: erpnext/assets/doctype/asset/asset.js:680
+#: erpnext/assets/doctype/asset/asset.js:160
+#: erpnext/assets/doctype/asset/asset.js:688
msgid "Split Asset"
msgstr ""
@@ -50563,9 +51394,9 @@ msgstr ""
#: erpnext/support/doctype/issue/issue.js:91
#: erpnext/support/doctype/issue/issue.js:102
msgid "Split Issue"
-msgstr "拆分問題"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:686
+#: erpnext/assets/doctype/asset/asset.js:694
msgid "Split Qty"
msgstr ""
@@ -50635,15 +51466,15 @@ msgstr ""
msgid "Stale Days"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:162
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:169
msgid "Stale Days should start from 1."
msgstr ""
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:70
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:485
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:488
#: erpnext/tests/utils.py:275
msgid "Standard Buying"
-msgstr "標準採購"
+msgstr ""
#: erpnext/manufacturing/report/bom_explorer/bom_explorer.py:73
msgid "Standard Description"
@@ -50654,11 +51485,11 @@ msgid "Standard Rated Expenses"
msgstr ""
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:70
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:493
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:496
#: erpnext/stock/doctype/item/item.py:276 erpnext/tests/utils.py:283
-#: erpnext/tests/utils.py:2518
+#: erpnext/tests/utils.py:2519
msgid "Standard Selling"
-msgstr "標準銷售"
+msgstr ""
#. Label of the standard_rate (Currency) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -50719,12 +51550,13 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.js:660
#: erpnext/manufacturing/doctype/workstation/workstation.js:124
msgid "Start Job"
-msgstr "開始工作"
+msgstr ""
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.js:72
msgid "Start Merge"
msgstr ""
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.js:27
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.js:114
msgid "Start Reposting"
msgstr ""
@@ -50733,7 +51565,7 @@ msgstr ""
msgid "Start Time can't be greater than or equal to End Time for {0}."
msgstr ""
-#: erpnext/projects/doctype/timesheet/timesheet.js:62
+#: erpnext/projects/doctype/timesheet/timesheet.js:63
msgid "Start Timer"
msgstr ""
@@ -50745,9 +51577,9 @@ msgstr ""
#: erpnext/accounts/report/financial_ratios/financial_ratios.js:17
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.html:144
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:81
-#: erpnext/public/js/financial_statements.js:435
+#: erpnext/public/js/financial_statements.js:455
msgid "Start Year"
-msgstr "開始年份"
+msgstr ""
#: erpnext/accounts/report/financial_statements.py:130
msgid "Start Year and End Year are mandatory"
@@ -50760,11 +51592,11 @@ msgstr ""
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py:235
msgid "Start date should be less than end date for Item {0}"
-msgstr "項目{0}的開始日期必須小於結束日期"
+msgstr ""
#: erpnext/assets/doctype/asset_maintenance/asset_maintenance.py:37
msgid "Start date should be less than end date for task {0}"
-msgstr "開始日期應該小於任務{0}的結束日期"
+msgstr ""
#: erpnext/utilities/bulk_transaction.py:44
msgid "Started a background job to create {1} {0}. {2}"
@@ -50775,9 +51607,13 @@ msgstr ""
#. Label of the payer_name_from_left_edge (Float) field in DocType 'Cheque
#. Print Template'
#. Label of the amt_in_words_from_left_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the amt_in_figures_from_left_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the acc_no_dist_from_left_edge (Float) field in DocType 'Cheque
+#. Print Template'
#. Label of the signatory_from_left_edge (Float) field in DocType 'Cheque Print
+#. Template'
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.json
msgid "Starting location from left edge"
msgstr ""
@@ -50846,15 +51682,15 @@ msgstr ""
msgid "Status and Reference"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:717
+#: erpnext/projects/doctype/project/project.py:749
msgid "Status must be Cancelled or Completed"
msgstr ""
#: erpnext/controllers/status_updater.py:17
msgid "Status must be one of {0}"
-msgstr "狀態必須是一個{0}"
+msgstr ""
-#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:279
+#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:283
msgid "Status set to rejected as there are one or more rejected readings."
msgstr ""
@@ -50865,6 +51701,7 @@ msgstr ""
#. Name of a Workspace
#. Title of a Workspace Sidebar
#: erpnext/accounts/doctype/account/account.json
+#: erpnext/accounts/doctype/account/account.py:224
#: erpnext/accounts/doctype/item_tax_template/item_tax_template_dashboard.py:11
#: erpnext/accounts/report/account_balance/account_balance.js:57
#: erpnext/desktop_icon/stock.json
@@ -50877,17 +51714,17 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock"
-msgstr "庫存"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:96
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:158
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1393
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1419
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1416
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1455
#: erpnext/accounts/report/account_balance/account_balance.js:58
msgid "Stock Adjustment"
-msgstr "庫存調整"
+msgstr ""
#. Label of the stock_adjustment_account (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -50904,7 +51741,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Ageing"
-msgstr "存貨帳齡分析表"
+msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
@@ -50914,7 +51751,7 @@ msgstr "存貨帳齡分析表"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Analytics"
-msgstr "庫存分析"
+msgstr ""
#. Label of the stock_asset_account (Link) field in DocType 'Journal Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -50924,11 +51761,11 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:36
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:59
msgid "Stock Assets"
-msgstr "庫存資產"
+msgstr ""
#: erpnext/stock/report/item_price_stock/item_price_stock.py:34
msgid "Stock Available"
-msgstr "現貨供應"
+msgstr ""
#. Label of the stock_balance (Button) field in DocType 'Quotation Item'
#. Name of a report
@@ -50942,7 +51779,7 @@ msgstr "現貨供應"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Balance"
-msgstr "庫存餘額"
+msgstr ""
#: erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.js:15
msgid "Stock Balance Report"
@@ -50970,11 +51807,27 @@ msgstr ""
msgid "Stock Closing Entry"
msgstr ""
-#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:80
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:239
+msgid "Stock Closing Entry In Progress"
+msgstr ""
+
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:257
+msgid "Stock Closing Entry Outdated"
+msgstr ""
+
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:231
+msgid "Stock Closing Entry Required"
+msgstr ""
+
+#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:122
msgid "Stock Closing Entry {0} already exists for the selected date range"
msgstr ""
-#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:101
+#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:144
+msgid "Stock Closing Entry {0} belongs to a closed accounting period. Cancel the Period Closing Voucher {1} first."
+msgstr ""
+
+#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:159
msgid "Stock Closing Entry {0} has been queued for processing, system will take sometime to complete it."
msgstr ""
@@ -50985,12 +51838,13 @@ msgstr ""
#. Label of the warehouse_and_reference (Section Break) field in DocType 'POS
#. Invoice Item'
#. Label of the warehouse_and_reference (Section Break) field in DocType 'Sales
+#. Invoice Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
msgid "Stock Details"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1189
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1210
msgid "Stock Entries already created for Work Order {0}: {1}"
msgstr ""
@@ -50998,6 +51852,7 @@ msgstr ""
#. Label of a Link in the Manufacturing Workspace
#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Item'
+#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Purchase Receipt'
#. Option for the 'Reference Type' (Select) field in DocType 'Quality
#. Inspection'
@@ -51020,7 +51875,7 @@ msgstr ""
#: erpnext/workspace_sidebar/stock.json
#: erpnext/workspace_sidebar/subcontracting.json
msgid "Stock Entry"
-msgstr "存貨分錄"
+msgstr ""
#. Label of the outgoing_stock_entry (Link) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -51035,7 +51890,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Stock Entry Detail"
-msgstr "存貨分錄明細"
+msgstr ""
#. Label of the stock_entry_item (Data) field in DocType 'Landed Cost Item'
#: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json
@@ -51049,31 +51904,43 @@ msgstr ""
msgid "Stock Entry Type"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:1552
-msgid "Stock Entry has been already created against this Pick List"
-msgstr ""
-
#: erpnext/stock/doctype/batch/batch.js:138
msgid "Stock Entry {0} created"
-msgstr "庫存輸入{0}創建"
+msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1601
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1614
msgid "Stock Entry {0} has created"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1324
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1335
msgid "Stock Entry {0} is not submitted"
-msgstr "庫存輸入{0}不提交"
+msgstr ""
+
+#. Label of the stock_expense_section (Section Break) field in DocType
+#. 'Company'
+#: erpnext/setup/doctype/company/company.json
+msgid "Stock Expense"
+msgstr ""
+
+#. Label of the stock_expense_section (Section Break) field in DocType
+#. 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Stock Expense Accounting"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:83
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:142
msgid "Stock Expenses"
-msgstr "庫存費用"
+msgstr ""
+
+#: erpnext/stock/stock_ledger.py:80
+msgid "Stock Frozen"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:37
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:60
msgid "Stock In Hand"
-msgstr "庫存在手"
+msgstr ""
#. Label of the stock_items (Table) field in DocType 'Asset Capitalization'
#. Label of the stock_items (Table) field in DocType 'Asset Repair'
@@ -51085,7 +51952,7 @@ msgstr ""
#. Name of a report
#. Label of a Link in the Stock Workspace
#. Label of a Workspace Sidebar Item
-#: erpnext/public/js/controllers/stock_controller.js:67
+#: erpnext/public/js/controllers/stock_controller.js:97
#: erpnext/public/js/utils/ledger_preview.js:37
#: erpnext/stock/doctype/item/item.js:158
#: erpnext/stock/doctype/item/item_dashboard.py:8
@@ -51094,7 +51961,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:36
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Ledger"
-msgstr "庫存總帳"
+msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js:30
msgid "Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts"
@@ -51103,13 +51970,13 @@ msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:113
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:149
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:158
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:30
msgid "Stock Ledger Entry"
-msgstr "庫存總帳條目"
+msgstr ""
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:98
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:139
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:144
msgid "Stock Ledger ID"
msgstr ""
@@ -51132,7 +51999,7 @@ msgstr ""
#. Label of the stock_levels_section (Section Break) field in DocType 'Item'
#: erpnext/stock/doctype/batch/batch.js:81 erpnext/stock/doctype/item/item.json
msgid "Stock Levels"
-msgstr "庫存水平"
+msgstr ""
#. Label of the stock_levels_html (HTML) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -51142,7 +52009,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:160
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:273
msgid "Stock Liabilities"
-msgstr "現貨負債"
+msgstr ""
#. Name of a role
#: erpnext/accounts/doctype/fiscal_year/fiscal_year.json
@@ -51184,7 +52051,7 @@ msgstr "現貨負債"
#: erpnext/stock/doctype/warehouse_type/warehouse_type.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Stock Manager"
-msgstr "庫存管理"
+msgstr ""
#: erpnext/stock/doctype/item/item_dashboard.py:34
msgid "Stock Movement"
@@ -51209,7 +52076,7 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Projected Qty"
-msgstr "存貨預計數量"
+msgstr ""
#. Label of the stock_qty (Float) field in DocType 'BOM Creator Item'
#. Label of the stock_qty (Float) field in DocType 'BOM Explosion Item'
@@ -51227,9 +52094,9 @@ msgstr "存貨預計數量"
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/report/item_where_used/item_where_used.py:76
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:34
-#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:34
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:40
msgid "Stock Qty"
-msgstr "庫存數量"
+msgstr ""
#. Name of a report
#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.json
@@ -51249,7 +52116,7 @@ msgstr ""
#: erpnext/accounts/report/account_balance/account_balance.js:59
#: erpnext/setup/doctype/company/company.json
msgid "Stock Received But Not Billed"
-msgstr "庫存接收,但不付款"
+msgstr ""
#. Label of a Link in the Home Workspace
#. Name of a DocType
@@ -51263,12 +52130,12 @@ msgstr "庫存接收,但不付款"
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Reconciliation"
-msgstr "庫存調整"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
msgid "Stock Reconciliation Item"
-msgstr "庫存調整項目"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:669
msgid "Stock Reconciliations"
@@ -51277,7 +52144,7 @@ msgstr ""
#. Label of a Card Break in the Stock Workspace
#: erpnext/stock/workspace/stock/stock.json
msgid "Stock Reports"
-msgstr "庫存報告"
+msgstr ""
#. Name of a DocType
#. Label of a Workspace Sidebar Item
@@ -51295,9 +52162,9 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:289
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:297
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:303
-#: erpnext/manufacturing/doctype/work_order/work_order.js:939
-#: erpnext/manufacturing/doctype/work_order/work_order.js:948
-#: erpnext/manufacturing/doctype/work_order/work_order.js:955
+#: erpnext/manufacturing/doctype/work_order/work_order.js:943
+#: erpnext/manufacturing/doctype/work_order/work_order.js:952
+#: erpnext/manufacturing/doctype/work_order/work_order.js:959
#: erpnext/manufacturing/doctype/work_order/work_order_dashboard.py:14
#: erpnext/public/js/stock_reservation.js:12
#: erpnext/selling/doctype/sales_order/sales_order.js:109
@@ -51308,19 +52175,19 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.js:175
#: erpnext/stock/doctype/pick_list/pick_list.js:180
#: erpnext/stock/doctype/stock_entry/stock_entry_dashboard.py:12
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:746
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:748
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:674
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1237
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1644
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1657
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1671
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1685
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1699
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1716
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1244
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1651
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1664
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1678
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1692
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1706
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1723
#: erpnext/stock/doctype/stock_settings/stock_settings.json
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:217
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:229
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:243
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:222
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:234
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:248
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:182
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:195
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:207
@@ -51329,14 +52196,14 @@ msgstr ""
msgid "Stock Reservation"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1825
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1832
msgid "Stock Reservation Entries Cancelled"
msgstr ""
#: erpnext/controllers/subcontracting_inward_controller.py:1037
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:2245
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2353
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1777
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:2261
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2416
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1784
msgid "Stock Reservation Entries Created"
msgstr ""
@@ -51363,7 +52230,7 @@ msgstr ""
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 ""
-#: erpnext/stock/doctype/delivery_note/delivery_note.py:538
+#: erpnext/stock/doctype/delivery_note/delivery_note.py:550
msgid "Stock Reservation Warehouse Mismatch"
msgstr ""
@@ -51410,7 +52277,7 @@ msgstr ""
#: erpnext/workspace_sidebar/erpnext_settings.json
#: erpnext/workspace_sidebar/stock.json
msgid "Stock Settings"
-msgstr "庫存設定"
+msgstr ""
#. Title of the Module Onboarding 'Stock Onboarding'
#: erpnext/stock/module_onboarding/stock_onboarding/stock_onboarding.json
@@ -51424,12 +52291,12 @@ msgstr ""
#: erpnext/stock/page/stock_balance/stock_balance.js:4
#: erpnext/stock/workspace/stock/stock.json
msgid "Stock Summary"
-msgstr "庫存摘要"
+msgstr ""
#. Label of a Card Break in the Stock Workspace
#: erpnext/stock/workspace/stock/stock.json
msgid "Stock Transactions"
-msgstr "庫存交易明細"
+msgstr ""
#. Label of the stock_uom (Link) field in DocType 'POS Invoice Item'
#. Label of the stock_uom (Link) field in DocType 'Purchase Invoice Item'
@@ -51446,6 +52313,7 @@ msgstr "庫存交易明細"
#. Label of the stock_uom (Link) field in DocType 'Job Card Item'
#. Label of the stock_uom (Link) field in DocType 'Job Card Secondary Item'
#. Label of the stock_uom (Link) field in DocType 'Production Plan Sub Assembly
+#. Item'
#. Label of the stock_uom (Link) field in DocType 'Work Order'
#. Label of the stock_uom (Link) field in DocType 'Work Order Item'
#. Label of the stock_uom (Link) field in DocType 'Delivery Schedule Item'
@@ -51463,13 +52331,17 @@ msgstr "庫存交易明細"
#. Label of the stock_uom (Link) field in DocType 'Stock Reconciliation Item'
#. Label of the stock_uom (Link) field in DocType 'Stock Reservation Entry'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Inward Order
+#. Item'
+#. Label of the stock_uom (Link) field in DocType 'Subcontracting Inward Order
#. Received Item'
+#. Label of the stock_uom (Link) field in DocType 'Subcontracting Inward Order
#. Secondary Item'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Order Item'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Order
#. Supplied 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
@@ -51508,7 +52380,7 @@ msgstr "庫存交易明細"
#: erpnext/stock/report/item_where_used/item_where_used.py:82
#: erpnext/stock/report/reserved_stock/reserved_stock.py:110
#: erpnext/stock/report/stock_balance/stock_balance.py:508
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:296
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:299
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_received_item/subcontracting_inward_order_received_item.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order_secondary_item/subcontracting_inward_order_secondary_item.json
@@ -51517,7 +52389,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 "Stock UOM"
-msgstr "庫存計量單位"
+msgstr ""
#: erpnext/public/js/stock_reservation.js:230
#: erpnext/selling/doctype/sales_order/sales_order.js:459
@@ -51528,12 +52400,13 @@ msgstr ""
#. Label of the stock_uom (Link) field in DocType 'Purchase Order Item
#. Supplied'
#. Label of the stock_uom (Link) field in DocType 'Purchase Receipt Item
+#. Supplied'
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
#: erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json
msgid "Stock Uom"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:758
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:768
msgid "Stock Update Not Allowed"
msgstr ""
@@ -51589,7 +52462,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Stock User"
-msgstr "庫存用戶"
+msgstr ""
#. Label of the stock_validations_tab (Tab Break) field in DocType 'Stock
#. Settings'
@@ -51604,9 +52477,13 @@ msgstr ""
#: erpnext/stock/doctype/bin/bin.json
#: erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.json
#: erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py:134
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:160
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:165
msgid "Stock Value"
-msgstr "庫存價值"
+msgstr ""
+
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:186
+msgid "Stock Value Mismatch"
+msgstr ""
#. Label of a chart in the Stock Workspace
#: erpnext/stock/workspace/stock/stock.json
@@ -51629,23 +52506,27 @@ msgstr ""
msgid "Stock and Manufacturing"
msgstr ""
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:303
+msgid "Stock and accounting values could not be reconciled by reposting for {0}."
+msgstr ""
+
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:255
msgid "Stock cannot be reserved in group warehouse {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1589
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1596
msgid "Stock cannot be reserved in the group warehouse {0}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1273
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1279
msgid "Stock cannot be updated against the following Delivery Notes: {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1342
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1348
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/accounts/doctype/purchase_invoice/purchase_invoice.py:755
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:765
msgid "Stock cannot be updated for Purchase Invoice {0} because a Purchase Receipt {1} has already been created for this transaction. Please disable the 'Update Stock' checkbox in the Purchase Invoice and save the invoice."
msgstr ""
@@ -51658,7 +52539,7 @@ msgstr ""
msgid "Stock frozen up to"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1131
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1133
msgid "Stock has been unreserved for work order {0}."
msgstr ""
@@ -51666,13 +52547,21 @@ msgstr ""
msgid "Stock not available for Item {0} in Warehouse {1}."
msgstr ""
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1240
+msgid "Stock not available to reserve for the Item {0} in Warehouse {1}."
+msgstr ""
+
#: erpnext/selling/page/point_of_sale/pos_controller.js:826
msgid "Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2} {3}."
msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:256
msgid "Stock transactions before {0} are frozen"
-msgstr "{0}前的庫存交易被凍結"
+msgstr ""
+
+#: erpnext/stock/stock_ledger.py:74
+msgid "Stock transactions dated on or before {0} are frozen because the period is closed and the Stock Closing Entry {1} has been generated. To make changes, cancel the Period Closing Voucher first."
+msgstr ""
#. Description of the 'Freeze stocks older than (days)' (Int) field in DocType
#. 'Stock Settings'
@@ -51680,6 +52569,10 @@ msgstr "{0}前的庫存交易被凍結"
msgid "Stock transactions that are older than the mentioned days cannot be modified."
msgstr ""
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:254
+msgid "Stock transactions were created or modified after the Stock Closing Entry {0} was generated. Regenerate it before submitting the Period Closing Voucher."
+msgstr ""
+
#. Description of the 'Auto reserve Stock for Sales Order on Purchase' (Check)
#. field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -51701,20 +52594,21 @@ msgstr ""
msgid "Stop Reason"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1177
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1236
msgid "Stopped Work Order cannot be cancelled, Unstop it first to cancel"
-msgstr "停止的工作訂單不能取消,先取消它"
+msgstr ""
-#: erpnext/setup/doctype/company/company.py:385
+#: erpnext/setup/doctype/company/company.py:387
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:33
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:537
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:540
#: erpnext/stock/doctype/item/item.py:313 erpnext/tests/utils.py:248
msgid "Stores"
-msgstr "商店"
+msgstr ""
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset'
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Depreciation Schedule'
+#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Finance Book'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -51722,16 +52616,16 @@ msgstr "商店"
msgid "Straight Line"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:58
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:61
msgid "Sub Assemblies"
-msgstr "子組件"
+msgstr ""
#. Label of the raw_materials_tab (Tab Break) field in DocType 'BOM Creator'
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.json
msgid "Sub Assemblies & Raw Materials"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:321
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:329
msgid "Sub Assembly Item"
msgstr ""
@@ -51747,7 +52641,7 @@ msgstr ""
msgid "Sub Assembly Item Reference"
msgstr ""
-#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:430
+#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:438
msgid "Sub Assembly Item is mandatory"
msgstr ""
@@ -51785,7 +52679,7 @@ msgstr ""
msgid "Sub Procedure"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:627
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:628
msgid "Sub assembly item references are missing. Please fetch the sub assemblies and raw materials again."
msgstr ""
@@ -51803,7 +52697,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py:12
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
msgid "Subcontract"
-msgstr "轉包"
+msgstr ""
#. Label of the subcontract_bom_section (Section Break) field in DocType
#. 'Purchase Receipt Item'
@@ -51837,7 +52731,7 @@ msgstr ""
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:136
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Subcontracted Item"
-msgstr "轉包項目"
+msgstr ""
#. Name of a report
#. Label of a Link in the Buying Workspace
@@ -51852,7 +52746,7 @@ msgstr "轉包項目"
msgid "Subcontracted Item To Be Received"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:224
+#: erpnext/stock/doctype/material_request/material_request.js:227
msgid "Subcontracted Purchase Order"
msgstr ""
@@ -51907,6 +52801,7 @@ msgstr ""
#. Label of the subcontracting_conversion_factor (Float) field in DocType
#. 'Subcontracting Inward Order Item'
+#. Label of the subcontracting_conversion_factor (Float) field in DocType
#. 'Subcontracting Order Item'
#: erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
@@ -51917,7 +52812,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
#. Label of a Link in the Subcontracting Workspace
#. Label of a Workspace Sidebar Item
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:132
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:135
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:158
@@ -51942,6 +52837,7 @@ msgstr ""
#. Label of the subcontracting_inward_order (Link) field in DocType 'Stock
#. Entry'
#. Option for the 'Voucher Type' (Select) field in DocType 'Stock Reservation
+#. Entry'
#. Option for the 'From Voucher Type' (Select) field in DocType 'Stock
#. Reservation Entry'
#. Name of a DocType
@@ -51993,6 +52889,7 @@ msgstr ""
#. Name of a DocType
#. Label of the subcontracting_order (Link) field in DocType 'Subcontracting
#. Receipt Item'
+#. Label of the subcontracting_order (Link) field in DocType 'Subcontracting
#. Receipt Supplied Item'
#. Label of a Workspace Sidebar Item
#: erpnext/buying/doctype/purchase_order/purchase_order.js:404
@@ -52034,7 +52931,7 @@ msgstr ""
msgid "Subcontracting Order Supplied Item"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:976
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:977
msgid "Subcontracting Order {0} created."
msgstr ""
@@ -52058,6 +52955,7 @@ msgstr ""
#. Label of a Link in the Manufacturing Workspace
#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Item'
+#. Option for the 'Receipt Document Type' (Select) field in DocType 'Landed
#. Cost Purchase Receipt'
#. Label of the subcontracting_receipt (Link) field in DocType 'Purchase
#. Receipt'
@@ -52095,7 +52993,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry'
#. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type'
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:138
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:141
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json
msgid "Subcontracting Return"
@@ -52126,7 +53024,7 @@ msgstr ""
msgid "Subdivision"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:972
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:973
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1092
msgid "Submit Action Failed"
msgstr ""
@@ -52149,13 +53047,13 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:185
msgid "Submit this Work Order for further processing."
-msgstr "提交此工單以進一步處理。"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:318
msgid "Submit your Quotation"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1511
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1524
msgid "Submitted Job Card cannot be processed."
msgstr ""
@@ -52165,8 +53063,10 @@ msgstr ""
#. Invoice'
#. Label of the subscription (Link) field in DocType 'Process Subscription'
#. Label of the subscription_section (Section Break) field in DocType 'Purchase
+#. Invoice'
#. Label of the subscription (Link) field in DocType 'Purchase Invoice'
#. Label of the subscription_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the subscription (Link) field in DocType 'Sales Invoice'
#. Name of a DocType
#. Label of a Link in the Invoicing Workspace
@@ -52189,30 +53089,30 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py:34
#: erpnext/workspace_sidebar/subscription.json
msgid "Subscription"
-msgstr "訂閱"
+msgstr ""
#. Label of the end_date (Date) field in DocType 'Subscription'
#: erpnext/accounts/doctype/subscription/subscription.json
msgid "Subscription End Date"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:405
+#: erpnext/accounts/doctype/subscription/subscription.py:409
msgid "Subscription End Date is mandatory to follow calendar months"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:395
+#: erpnext/accounts/doctype/subscription/subscription.py:399
msgid "Subscription End Date must be after {0} as per the subscription plan"
msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/subscription_invoice/subscription_invoice.json
msgid "Subscription Invoice"
-msgstr "訂閱發票"
+msgstr ""
#. Label of a Card Break in the Invoicing Workspace
#: erpnext/accounts/workspace/invoicing/invoicing.json
msgid "Subscription Management"
-msgstr "訂閱管理"
+msgstr ""
#. Label of the subscription_period (Section Break) field in DocType
#. 'Subscription'
@@ -52227,12 +53127,12 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/subscription.json
msgid "Subscription Plan"
-msgstr "訂閱計劃"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/subscription_plan_detail/subscription_plan_detail.json
msgid "Subscription Plan Detail"
-msgstr "訂閱計劃詳情"
+msgstr ""
#. Label of the subscription_plans (Table) field in DocType 'Payment Request'
#: erpnext/accounts/doctype/payment_request/payment_request.json
@@ -52253,20 +53153,20 @@ msgstr ""
#: erpnext/workspace_sidebar/erpnext_settings.json
#: erpnext/workspace_sidebar/subscription.json
msgid "Subscription Settings"
-msgstr "訂閱設置"
+msgstr ""
#. Label of the start_date (Date) field in DocType 'Subscription'
#: erpnext/accounts/doctype/subscription/subscription.json
msgid "Subscription Start Date"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:773
+#: erpnext/accounts/doctype/subscription/subscription.py:782
msgid "Subscription for Future dates cannot be processed."
msgstr ""
#: erpnext/selling/doctype/customer/customer_dashboard.py:28
msgid "Subscriptions"
-msgstr "訂閱"
+msgstr ""
#. Label of the succeeded (Int) field in DocType 'Bulk Transaction Log'
#: erpnext/bulk_transaction/doctype/bulk_transaction_log/bulk_transaction_log.json
@@ -52283,25 +53183,19 @@ msgstr ""
msgid "Success Redirect URL"
msgstr ""
-#. Label of the success_details (Section Break) field in DocType 'Appointment
-#. Booking Settings'
-#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
-msgid "Success Settings"
-msgstr ""
-
#. Option for the 'Depreciation Entry Posting Status' (Select) field in DocType
#. 'Asset'
#: erpnext/assets/doctype/asset/asset.json
msgid "Successful"
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:578
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:609
msgid "Successfully Reconciled"
-msgstr "不甘心成功"
+msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:194
msgid "Successfully Set Supplier"
-msgstr "成功設置供應商"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:391
msgid "Successfully changed Stock UOM, please redefine conversion factors for new UOM."
@@ -52370,11 +53264,11 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:183
msgid "Summary for this month and pending activities"
-msgstr "本月和待活動總結"
+msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:180
msgid "Summary for this week and pending activities"
-msgstr "本週和待活動總結"
+msgstr ""
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:145
msgid "Supplied Item"
@@ -52397,7 +53291,7 @@ msgstr ""
#: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:152
#: erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
msgid "Supplied Qty"
-msgstr "附送數量"
+msgstr ""
#. Label of the supplier (Link) field in DocType 'Bank Guarantee'
#. Label of the party (Link) field in DocType 'Payment Order'
@@ -52407,6 +53301,7 @@ msgstr "附送數量"
#. Option for the 'Applicable For' (Select) field in DocType 'Promotional
#. Scheme'
#. Label of the supplier (Table MultiSelect) field in DocType 'Promotional
+#. Scheme'
#. Label of the supplier (Link) field in DocType 'Purchase Invoice'
#. Label of the supplier (Link) field in DocType 'Supplier Item'
#. Label of the supplier (Link) field in DocType 'Tax Rule'
@@ -52484,7 +53379,7 @@ msgstr "附送數量"
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:51
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:197
#: erpnext/buying/workspace/buying/buying.json
-#: erpnext/crm/doctype/contract/contract.json
+#: erpnext/controllers/trends.py:461 erpnext/crm/doctype/contract/contract.json
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
#: erpnext/public/js/purchase_trends_filters.js:50
@@ -52502,6 +53397,7 @@ msgstr "附送數量"
#: erpnext/stock/doctype/item_price/item_price.json
#: erpnext/stock/doctype/item_supplier/item_supplier.json
#: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json
+#: erpnext/stock/doctype/material_request/material_request.js:526
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/stock/doctype/shipment/shipment.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -52511,7 +53407,7 @@ msgstr "附送數量"
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/subscription.json
msgid "Supplier"
-msgstr "供應商"
+msgstr ""
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.js:98
msgid "Supplier > Supplier Type"
@@ -52519,11 +53415,13 @@ msgstr ""
#. Label of the section_addresses (Section Break) field in DocType 'Purchase
#. Invoice'
+#. Label of the section_addresses (Section Break) field in DocType 'Purchase
#. Order'
#. Label of the supplier_address (Link) field in DocType 'Purchase Order'
#. Label of the supplier_address (Link) field in DocType 'Supplier Quotation'
#. Label of the supplier_address_section (Section Break) field in DocType
#. 'Supplier Quotation'
+#. Label of the section_addresses (Section Break) field in DocType 'Purchase
#. Receipt'
#. Label of the supplier_address (Link) field in DocType 'Purchase Receipt'
#. Label of the supplier_address (Link) field in DocType 'Stock Entry'
@@ -52597,7 +53495,7 @@ msgstr ""
#: erpnext/accounts/doctype/tax_rule/tax_rule.json
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:119
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:102
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1257
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1264
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:198
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:178
#: erpnext/accounts/report/purchase_register/purchase_register.js:27
@@ -52608,6 +53506,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:107
#: erpnext/buying/workspace/buying/buying.json
+#: erpnext/controllers/trends.py:469 erpnext/controllers/trends.py:484
#: erpnext/public/js/purchase_trends_filters.js:51
#: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json
#: erpnext/regional/report/irs_1099/irs_1099.js:26
@@ -52616,7 +53515,7 @@ msgstr ""
#: erpnext/setup/doctype/supplier_group/supplier_group.json
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Group"
-msgstr "供應商集團"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/supplier_group_item/supplier_group_item.json
@@ -52644,9 +53543,9 @@ msgstr ""
#. Label of the bill_date (Date) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:232
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:230
msgid "Supplier Invoice Date"
-msgstr "供應商發票日期"
+msgstr ""
#. Label of the bill_no (Data) field in DocType 'Payment Entry Reference'
#. Label of the bill_no (Data) field in DocType 'Purchase Invoice'
@@ -52655,13 +53554,13 @@ msgstr "供應商發票日期"
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/report/general_ledger/general_ledger.html:202
#: erpnext/accounts/report/general_ledger/general_ledger.py:813
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:226
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:224
msgid "Supplier Invoice No"
-msgstr "供應商發票號碼"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1815
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1851
msgid "Supplier Invoice No exists in Purchase Invoice {0}"
-msgstr "供應商發票不存在採購發票{0}"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/supplier_item/supplier_item.json
@@ -52697,7 +53596,7 @@ msgstr ""
#. Label of the supplier_name (Data) field in DocType 'Purchase Receipt'
#. Label of the supplier_name (Data) field in DocType 'Stock Entry'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1172
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1179
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:156
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:196
#: erpnext/accounts/report/purchase_register/purchase_register.py:193
@@ -52709,11 +53608,12 @@ msgstr ""
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
#: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:101
+#: erpnext/controllers/trends.py:467
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "Supplier Name"
-msgstr "供應商名稱"
+msgstr ""
#. Label of the supp_master_name (Select) field in DocType 'Buying Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
@@ -52741,13 +53641,14 @@ msgstr ""
#: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json
#: erpnext/templates/includes/rfq/rfq_macros.html:20
msgid "Supplier Part No"
-msgstr "供應商部件號"
+msgstr ""
#. Label of the supplier_part_no (Data) field in DocType 'Purchase Order Item'
#. Label of the supplier_part_no (Data) field in DocType 'Supplier Quotation
#. Item'
#. Label of the supplier_part_no (Data) field in DocType 'Item Supplier'
#. Label of the supplier_part_no (Data) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
#: erpnext/stock/doctype/item_supplier/item_supplier.json
@@ -52778,10 +53679,10 @@ msgstr ""
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/crm/doctype/opportunity/opportunity.js:81
#: erpnext/selling/doctype/quotation/quotation.json
-#: erpnext/stock/doctype/material_request/material_request.js:208
+#: erpnext/stock/doctype/material_request/material_request.js:211
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Quotation"
-msgstr "供應商報價"
+msgstr ""
#. Name of a report
#. Label of a Link in the Buying Workspace
@@ -52799,7 +53700,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
msgid "Supplier Quotation Item"
-msgstr "供應商報價項目"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:512
msgid "Supplier Quotation {0} Created"
@@ -52826,7 +53727,7 @@ msgstr ""
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Scorecard"
-msgstr "供應商記分卡"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Buying Workspace
@@ -52835,27 +53736,27 @@ msgstr "供應商記分卡"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Scorecard Criteria"
-msgstr "供應商記分卡標準"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json
msgid "Supplier Scorecard Period"
-msgstr "供應商記分卡期"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json
msgid "Supplier Scorecard Scoring Criteria"
-msgstr "供應商記分卡評分標準"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
msgid "Supplier Scorecard Scoring Standing"
-msgstr "供應商記分卡"
+msgstr ""
#. Name of a DocType
#: erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json
msgid "Supplier Scorecard Scoring Variable"
-msgstr "供應商記分卡評分變量"
+msgstr ""
#. Label of the scorecard (Link) field in DocType 'Supplier Scorecard Period'
#: erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json
@@ -52869,7 +53770,7 @@ msgstr ""
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Scorecard Standing"
-msgstr "供應商記分卡站立"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Buying Workspace
@@ -52878,7 +53779,7 @@ msgstr "供應商記分卡站立"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/workspace_sidebar/buying.json
msgid "Supplier Scorecard Variable"
-msgstr "供應商記分卡變數"
+msgstr ""
#. Label of the supplier_type (Select) field in DocType 'Supplier'
#: erpnext/buying/doctype/supplier/supplier.json
@@ -52914,7 +53815,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.py:187
msgid "Supplier {0} not found in {1}"
-msgstr "在{1}中找不到供應商{0}"
+msgstr ""
#. Description of the 'Tax ID' (Data) field in DocType 'Supplier'
#: erpnext/buying/doctype/supplier/supplier.json
@@ -52923,7 +53824,7 @@ msgstr ""
#: erpnext/stock/report/item_wise_consumption/item_wise_consumption.py:67
msgid "Supplier(s)"
-msgstr "供應商(S)"
+msgstr ""
#. Label of the suppliers (Table) field in DocType 'Request for Quotation'
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
@@ -52946,7 +53847,7 @@ msgstr ""
#: erpnext/desktop_icon/support.json
#: erpnext/selling/doctype/customer/customer_dashboard.py:23
#: erpnext/setup/doctype/company/company_dashboard.py:24
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:298
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:301
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/support.json
msgid "Support"
@@ -52955,7 +53856,7 @@ msgstr ""
#. Name of a report
#: erpnext/support/report/support_hour_distribution/support_hour_distribution.json
msgid "Support Hour Distribution"
-msgstr "支持小時分配"
+msgstr ""
#. Label of the portal_sb (Section Break) field in DocType 'Support Settings'
#: erpnext/support/doctype/support_settings/support_settings.json
@@ -52974,17 +53875,17 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/erpnext_settings.json
msgid "Support Settings"
-msgstr "支持設置"
+msgstr ""
#. Name of a role
#: erpnext/support/doctype/issue/issue.json
#: erpnext/support/doctype/issue_type/issue_type.json
msgid "Support Team"
-msgstr "支持團隊"
+msgstr ""
#: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:68
msgid "Support Tickets"
-msgstr "支持門票"
+msgstr ""
#: erpnext/accounts/report/calculated_discount_mismatch/calculated_discount_mismatch.py:64
msgid "Suspected Discount Amount"
@@ -53009,6 +53910,10 @@ msgstr ""
msgid "Sync Now"
msgstr ""
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:6
+msgid "Sync Serial No Status"
+msgstr ""
+
#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.js:36
msgid "Sync Started"
msgstr ""
@@ -53018,7 +53923,7 @@ msgstr ""
msgid "Synchronize all accounts every hour"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:664
+#: erpnext/accounts/doctype/account/account.py:695
msgid "System In Use"
msgstr ""
@@ -53036,19 +53941,19 @@ msgstr ""
#. Description of the 'Allow Implicit Pegged Currency Conversion' (Check) field
#. in DocType 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
-msgid ""
-"System will do an implicit conversion using the pegged currency.
\n"
+msgid "System will do an implicit conversion using the pegged currency.
\n"
"Ex: Instead of AED -> INR, system will do AED -> USD -> INR using the pegged exchange rate of AED against USD."
msgstr ""
#. Description of the 'Invoice Limit' (Int) field in DocType 'Payment
#. Reconciliation'
#. Description of the 'Payment Limit' (Int) field in DocType 'Payment
+#. Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
msgid "System will fetch all the entries if limit value is zero."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2256
+#: erpnext/controllers/accounts_controller.py:2261
msgid "System will not check over billing since amount for Item {0} in {1} is zero"
msgstr ""
@@ -53069,9 +53974,9 @@ msgstr ""
#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.json
#: erpnext/workspace_sidebar/taxes.json
msgid "TDS Computation Summary"
-msgstr "TDS計算摘要"
+msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1573
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1609
msgid "TDS Deducted"
msgstr ""
@@ -53138,7 +54043,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/target_detail/target_detail.json
msgid "Target Detail"
-msgstr "目標詳細資訊"
+msgstr ""
#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:12
#: erpnext/accounts/doctype/monthly_distribution/monthly_distribution_dashboard.py:13
@@ -53198,7 +54103,7 @@ msgstr ""
#: erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.js:41
#: erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.js:41
msgid "Target On"
-msgstr "目標在"
+msgstr ""
#. Label of the target_qty (Float) field in DocType 'Target Detail'
#: erpnext/setup/doctype/target_detail/target_detail.json
@@ -53222,10 +54127,10 @@ msgstr ""
#: erpnext/stock/dashboard/item_dashboard.js:234
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:826
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:802
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Target Warehouse"
-msgstr "目標倉庫"
+msgstr ""
#. Label of the target_address_display (Text Editor) field in DocType 'Stock
#. Entry'
@@ -53238,7 +54143,7 @@ msgstr ""
msgid "Target Warehouse Address Link"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:320
+#: erpnext/manufacturing/doctype/work_order/work_order.py:324
msgid "Target Warehouse Reservation Error"
msgstr ""
@@ -53246,7 +54151,7 @@ msgstr ""
msgid "Target Warehouse for Finished Good must be same as Finished Good Warehouse {1} in Work Order {2} linked to the Subcontracting Inward Order."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:865
+#: erpnext/manufacturing/doctype/work_order/work_order.py:924
msgid "Target Warehouse is required before Submit"
msgstr ""
@@ -53254,15 +54159,15 @@ msgstr ""
msgid "Target Warehouse is set for some items but the customer is not an internal customer."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:391
+#: erpnext/manufacturing/doctype/work_order/work_order.py:395
msgid "Target Warehouse {0} must be same as Delivery Warehouse {1} in the Subcontracting Inward Order Item."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:951
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:957
#: erpnext/stock/doctype/stock_entry/stock_entry.py:972
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:978
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:993
msgid "Target warehouse is mandatory for row {0}"
-msgstr "目標倉庫是強制性的行{0}"
+msgstr ""
#. Label of the targets (Table) field in DocType 'Sales Partner'
#. Label of the targets (Table) field in DocType 'Sales Person'
@@ -53292,7 +54197,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/projects/doctype/task_depends_on/task_depends_on.json
msgid "Task Depends On"
-msgstr "任務取決於"
+msgstr ""
#. Label of the description (Text Editor) field in DocType 'Task'
#: erpnext/projects/doctype/task/task.json
@@ -53333,7 +54238,7 @@ msgstr ""
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/stock/doctype/item/item.json
msgid "Tax"
-msgstr "稅"
+msgstr ""
#. Label of the tax_account (Link) field in DocType 'Import Supplier Invoice'
#: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json
@@ -53342,8 +54247,8 @@ msgstr ""
#. Label of the amount (Currency) field in DocType 'Item Wise Tax Detail'
#: erpnext/accounts/doctype/item_wise_tax_detail/item_wise_tax_detail.json
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:244
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:91
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:242
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:90
msgid "Tax Amount"
msgstr ""
@@ -53351,6 +54256,7 @@ msgstr ""
#. 'Purchase Taxes and Charges'
#. Label of the base_tax_amount_after_discount_amount (Currency) field in
#. DocType 'Purchase Taxes and Charges'
+#. Label of the tax_amount_after_discount_amount (Currency) field in DocType
#. 'Sales Taxes and Charges'
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
@@ -53373,12 +54279,14 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:69
#: erpnext/setup/setup_wizard/operations/taxes_setup.py:256
msgid "Tax Assets"
-msgstr "所得稅資產"
+msgstr ""
#. Label of the sec_tax_breakup (Section Break) field in DocType 'POS Invoice'
#. Label of the sec_tax_breakup (Section Break) field in DocType 'Purchase
#. Invoice'
#. Label of the sec_tax_breakup (Section Break) field in DocType 'Sales
+#. Invoice'
+#. Label of the sec_tax_breakup (Section Break) field in DocType 'Purchase
#. Order'
#. Label of the tax_breakup (Section Break) field in DocType 'Supplier
#. Quotation'
@@ -53386,6 +54294,7 @@ msgstr "所得稅資產"
#. Label of the sec_tax_breakup (Section Break) field in DocType 'Sales Order'
#. Label of the sec_tax_breakup (Section Break) field in DocType 'Delivery
#. Note'
+#. Label of the sec_tax_breakup (Section Break) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -53445,7 +54354,7 @@ msgstr ""
#: erpnext/controllers/buying_controller.py:262
msgid "Tax Category has been changed to \"Total\" because all the Items are non-stock items"
-msgstr "稅項類別已更改為“合計”,因為所有物品均為非庫存物品"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:136
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:230
@@ -53462,7 +54371,7 @@ msgstr ""
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/setup/doctype/company/company.json
msgid "Tax ID"
-msgstr "稅號"
+msgstr ""
#. Label of the tax_id (Data) field in DocType 'POS Invoice'
#. Label of the tax_id (Read Only) field in DocType 'Purchase Invoice'
@@ -53477,8 +54386,8 @@ msgstr "稅號"
#: erpnext/accounts/report/purchase_register/purchase_register.py:208
#: erpnext/accounts/report/sales_register/sales_register.py:229
#: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:67
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:205
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:57
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:203
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:56
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Tax Id"
@@ -53515,10 +54424,10 @@ msgstr ""
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json
msgid "Tax Rate"
-msgstr "稅率"
+msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:237
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:84
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:235
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:83
msgid "Tax Rate %"
msgstr ""
@@ -53543,11 +54452,11 @@ msgstr ""
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/workspace_sidebar/taxes.json
msgid "Tax Rule"
-msgstr "稅務規則"
+msgstr ""
#: erpnext/accounts/doctype/tax_rule/tax_rule.py:138
msgid "Tax Rule Conflicts with {0}"
-msgstr "稅收規範衝突{0}"
+msgstr ""
#. Label of the tax_settings_section (Section Break) field in DocType 'Accounts
#. Settings'
@@ -53562,7 +54471,7 @@ msgstr ""
#: erpnext/accounts/doctype/tax_rule/tax_rule.py:86
msgid "Tax Template is mandatory."
-msgstr "稅務模板是強制性的。"
+msgstr ""
#: erpnext/accounts/report/sales_register/sales_register.py:309
msgid "Tax Total"
@@ -53582,11 +54491,12 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.json
msgid "Tax Withholding Account"
-msgstr "扣繳稅款科目"
+msgstr ""
#. Label of the tax_withholding_category (Link) field in DocType 'Journal
#. Entry'
#. Label of the tax_withholding_category (Link) field in DocType 'Payment
+#. Entry'
#. Label of the tax_withholding_category (Link) field in DocType 'Purchase
#. Invoice Item'
#. Label of the tax_withholding_category (Link) field in DocType 'Sales Invoice
@@ -53606,15 +54516,15 @@ msgstr "扣繳稅款科目"
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json
#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:199
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:72
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:197
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:71
#: erpnext/accounts/workspace/invoicing/invoicing.json
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.json
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/workspace_sidebar/taxes.json
msgid "Tax Withholding Category"
-msgstr "預扣稅類別"
+msgstr ""
#. Name of a report
#. Label of a Workspace Sidebar Item
@@ -53626,9 +54536,11 @@ msgstr ""
#. Label of the tax_withholding_entries (Table) field in DocType 'Journal
#. Entry'
#. Label of the tax_withholding_entries (Table) field in DocType 'Payment
+#. Entry'
#. Label of the tax_withholding_entries (Table) field in DocType 'Purchase
#. Invoice'
#. Label of the tax_withholding_entries (Table) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -53638,7 +54550,9 @@ msgstr ""
#. Label of the section_tax_withholding_entry (Section Break) field in DocType
#. 'Payment Entry'
+#. Label of the section_tax_withholding_entry (Section Break) field in DocType
#. 'Purchase Invoice'
+#. Label of the section_tax_withholding_entry (Section Break) field in DocType
#. 'Sales Invoice'
#. Name of a DocType
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -53656,6 +54570,7 @@ msgstr ""
#. Label of the tax_withholding_group (Link) field in DocType 'Tax Withholding
#. Entry'
#. Name of a DocType
+#. Label of the tax_withholding_group (Link) field in DocType 'Tax Withholding
#. Rate'
#. Label of the tax_withholding_group (Link) field in DocType 'Supplier'
#. Label of the tax_withholding_group (Link) field in DocType 'Customer'
@@ -53678,7 +54593,7 @@ msgstr ""
#. Rate'
#: erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.json
msgid "Tax Withholding Rate"
-msgstr "稅收預扣稅率"
+msgstr ""
#. Label of the section_break_8 (Section Break) field in DocType 'Tax
#. Withholding Category'
@@ -53689,15 +54604,16 @@ msgstr ""
#. Description of the 'Item Tax Rate' (Code) field in DocType 'Purchase Invoice
#. Item'
#. Description of the 'Item Tax Rate' (Code) field in DocType 'Purchase Order
+#. Item'
#. Description of the 'Item Tax Rate' (Code) field in DocType 'Supplier
#. Quotation Item'
#. Description of the 'Item Tax Rate' (Code) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
-msgid ""
-"Tax detail table fetched from item master as a string and stored in this field.\n"
+msgid "Tax detail table fetched from item master as a string and stored in this field.\n"
"Used for Taxes and Charges"
msgstr ""
@@ -53710,10 +54626,10 @@ msgstr ""
#. Label of the taxable_amount (Currency) field in DocType 'Item Wise Tax
#. Detail'
#: erpnext/accounts/doctype/item_wise_tax_detail/item_wise_tax_detail.json
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:239
-#: erpnext/controllers/taxes_and_totals.py:1248
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:237
+#: erpnext/controllers/taxes_and_totals.py:1253
msgid "Taxable Amount"
-msgstr "應稅金額"
+msgstr ""
#. Label of the taxable_date (Date) field in DocType 'Tax Withholding Entry'
#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json
@@ -53751,7 +54667,7 @@ msgstr ""
#: erpnext/setup/doctype/item_group/item_group.json
#: erpnext/stock/doctype/item/item.json erpnext/workspace_sidebar/taxes.json
msgid "Taxes"
-msgstr "稅"
+msgstr ""
#. Label of the taxes_and_charges_section (Section Break) field in DocType
#. 'Payment Entry'
@@ -53784,9 +54700,11 @@ msgstr ""
#. Label of the taxes_and_charges_added (Currency) field in DocType 'Purchase
#. Invoice'
+#. Label of the taxes_and_charges_added (Currency) field in DocType 'Purchase
#. Order'
#. Label of the taxes_and_charges_added (Currency) field in DocType 'Supplier
#. Quotation'
+#. Label of the taxes_and_charges_added (Currency) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -53797,8 +54715,11 @@ msgstr ""
#. Label of the base_taxes_and_charges_added (Currency) field in DocType
#. 'Purchase Invoice'
+#. Label of the base_taxes_and_charges_added (Currency) field in DocType
#. 'Purchase Order'
+#. Label of the base_taxes_and_charges_added (Currency) field in DocType
#. 'Supplier Quotation'
+#. Label of the base_taxes_and_charges_added (Currency) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -53812,11 +54733,18 @@ msgstr ""
#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Purchase Invoice'
#. Label of the other_charges_calculation (Text Editor) field in DocType 'Sales
+#. Invoice'
+#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Purchase Order'
+#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Supplier Quotation'
+#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Quotation'
+#. Label of the other_charges_calculation (Text Editor) field in DocType 'Sales
#. Order'
+#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Delivery Note'
+#. Label of the other_charges_calculation (Text Editor) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -53832,8 +54760,11 @@ msgstr ""
#. Label of the taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Invoice'
+#. Label of the taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Order'
+#. Label of the taxes_and_charges_deducted (Currency) field in DocType
#. 'Supplier Quotation'
+#. Label of the taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -53844,8 +54775,11 @@ msgstr ""
#. Label of the base_taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Invoice'
+#. Label of the base_taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Order'
+#. Label of the base_taxes_and_charges_deducted (Currency) field in DocType
#. 'Supplier Quotation'
+#. Label of the base_taxes_and_charges_deducted (Currency) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -53890,7 +54824,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:127
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:213
msgid "Telephone Expenses"
-msgstr "電話費"
+msgstr ""
#. Name of a DocType
#: erpnext/telephony/doctype/telephony_call_type/telephony_call_type.json
@@ -53921,23 +54855,23 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js:29
msgid "Temporarily on Hold"
-msgstr "暫時擱置"
+msgstr ""
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/report/account_balance/account_balance.js:61
msgid "Temporary"
-msgstr "臨時"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:73
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:129
msgid "Temporary Accounts"
-msgstr "臨時科目"
+msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:74
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:130
msgid "Temporary Opening"
-msgstr "臨時開通"
+msgstr ""
#. Label of the temporary_opening_account (Link) field in DocType 'Opening
#. Invoice Creation Tool Item'
@@ -53990,6 +54924,7 @@ msgstr ""
#. Label of the terms_section_break (Section Break) field in DocType 'Purchase
#. Order'
#. Label of the terms_section_break (Section Break) field in DocType 'Sales
+#. Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Terms & Conditions"
@@ -54008,8 +54943,10 @@ msgstr ""
#. Label of the terms_and_conditions (Link) field in DocType 'Process Statement
#. Of Accounts'
#. Label of the terms_section_break (Section Break) field in DocType 'Purchase
+#. Invoice'
#. Label of the terms (Text Editor) field in DocType 'Purchase Invoice'
#. Label of the terms_section_break (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of a Link in the Invoicing Workspace
#. Label of the terms (Text Editor) field in DocType 'Purchase Order'
#. Label of the terms_section_break (Section Break) field in DocType 'Request
@@ -54042,7 +54979,7 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/workspace_sidebar/accounts_setup.json
msgid "Terms and Conditions"
-msgstr "條款和條件"
+msgstr ""
#. Label of the terms (Text Editor) field in DocType 'Material Request'
#: erpnext/stock/doctype/material_request/material_request.json
@@ -54085,6 +55022,7 @@ msgstr ""
#. Option for the 'Applicable For' (Select) field in DocType 'Promotional
#. Scheme'
#. Label of the territory (Table MultiSelect) field in DocType 'Promotional
+#. Scheme'
#. Label of the territory (Link) field in DocType 'Sales Invoice'
#. Label of the territory (Link) field in DocType 'Territory Item'
#. Label of the territory (Link) field in DocType 'Lead'
@@ -54113,17 +55051,18 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/territory_item/territory_item.json
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:142
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1241
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1248
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:108
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:182
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:68
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:169
-#: erpnext/accounts/report/gross_profit/gross_profit.py:436
+#: erpnext/accounts/report/gross_profit/gross_profit.py:438
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js:8
#: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:22
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:259
#: erpnext/accounts/report/sales_register/sales_register.py:223
-#: erpnext/crm/doctype/lead/lead.json
+#: erpnext/controllers/trends.py:410 erpnext/controllers/trends.py:434
+#: erpnext/controllers/trends.py:499 erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/crm/report/lead_details/lead_details.js:46
@@ -54160,7 +55099,7 @@ msgstr ""
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/selling.json
msgid "Territory"
-msgstr "領土"
+msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/territory_item/territory_item.json
@@ -54210,7 +55149,7 @@ msgstr ""
#: erpnext/stock/doctype/packing_slip/packing_slip.py:91
msgid "The 'From Package No.' field must neither be empty nor it's value less than 1."
-msgstr "“From Package No.”字段不能為空,也不能小於1。"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:423
msgid "The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings."
@@ -54221,7 +55160,7 @@ msgstr ""
msgid "The BOM which will be replaced"
msgstr ""
-#: erpnext/stock/serial_batch_bundle.py:1545
+#: erpnext/stock/serial_batch_bundle.py:1631
msgid "The Batch {0} has negative batch quantity {1}. To fix this, go to the batch and click on Recalculate Batch Qty. If the issue still persists, create an inward entry."
msgstr ""
@@ -54241,31 +55180,31 @@ msgstr ""
msgid "The Excluded Fee is bigger than the Deposit it is deducted from."
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:178
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:306
msgid "The GL Entries and closing balances will be processed in the background, it can take a few minutes."
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:451
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:579
msgid "The GL Entries will be cancelled in the background, it can take a few minutes."
msgstr ""
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.py:178
msgid "The Loyalty Program isn't valid for the selected company"
-msgstr "忠誠度計劃對所選公司無效"
+msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:1109
+#: erpnext/accounts/doctype/payment_request/payment_request.py:1121
msgid "The Payment Request {0} is already paid, cannot process payment twice"
msgstr ""
#: erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py:50
msgid "The Payment Term at row {0} is possibly a duplicate."
-msgstr "第{0}行的支付條款可能是重複的。"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:345
+#: erpnext/stock/doctype/pick_list/pick_list.py:347
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 ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:3132
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:3208
msgid "The Process Loss Qty has reset as per job cards Process Loss Qty"
msgstr ""
@@ -54273,18 +55212,22 @@ msgstr ""
msgid "The Sales Person is linked with {0}"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:211
+#: erpnext/stock/doctype/pick_list/pick_list.py:213
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:2722
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2799
msgid "The Serial No {0} is reserved against the {1} {2} and cannot be used for any other transaction."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2098
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2174
msgid "The Serial and Batch Bundle {0} is not valid for this transaction. The 'Type of Transaction' should be 'Outward' instead of 'Inward' in Serial and Batch Bundle {0}"
msgstr ""
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:236
+msgid "The Stock Closing Entry for {0} is not completed yet. Wait for it to complete before submitting the Period Closing Voucher."
+msgstr ""
+
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.js:17
msgid "The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing.
When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field."
msgstr ""
@@ -54295,7 +55238,11 @@ msgstr ""
msgid "The account head under Liability or Equity, in which Profit/Loss will be booked"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:1004
+#: erpnext/accounts/doctype/account/account.py:222
+msgid "The account type of {0} cannot be changed from {1} because stock ledger entries exist against it."
+msgstr ""
+
+#: erpnext/accounts/doctype/payment_request/payment_request.py:1016
msgid "The allocated amount is greater than the outstanding amount of Payment Request {0}"
msgstr ""
@@ -54305,7 +55252,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:199
msgid "The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document."
-msgstr "此付款申請中設置的{0}金額與所有付款計劃的計算金額不同:{1}。在提交文檔之前確保這是正確的。"
+msgstr ""
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.py:97
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.py:505
@@ -54317,8 +55264,12 @@ msgstr ""
msgid "The bank account is not a company account. Please select a company account"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1397
-msgid "The batch {0} is already reserved in {1} {2}. So, cannot proceed with the {3} {4}, which is created against the {5} {6}."
+#: erpnext/controllers/stock_controller.py:1496
+msgid "The batch {0} is reserved for {1} in the warehouse {2} and the remaining quantity is not enough to cover the reservations. So, cannot proceed with the {3} {4}."
+msgstr ""
+
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:179
+msgid "The closing balance {0} of the Stock Asset accounts does not match the closing value {1} of the Stock Balance report as on {2}. Resolve the difference using the Stock Ledger Variance report before closing the period."
msgstr ""
#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:43
@@ -54329,7 +55280,7 @@ msgstr ""
msgid "The company {0} is not in United Arab Emirates. UAE VAT 201 report is only available for companies in United Arab Emirates."
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1366
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1379
msgid "The completed quantity {0} of an operation {1} cannot be greater than the completed quantity {2} of a previous operation {3}."
msgstr ""
@@ -54349,7 +55300,7 @@ msgstr ""
msgid "The date of the transaction"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1230
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1241
msgid "The default BOM for that item will be fetched by the system. You can also change the BOM."
msgstr ""
@@ -54357,7 +55308,7 @@ msgstr ""
msgid "The description of the transaction"
msgstr ""
-#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:67
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:77
msgid "The difference between from time and To Time must be a multiple of Appointment"
msgstr ""
@@ -54376,11 +55327,11 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:173
msgid "The field From Shareholder cannot be blank"
-msgstr "來自股東的字段不能為空"
+msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:181
msgid "The field To Shareholder cannot be blank"
-msgstr "“股東”字段不能為空"
+msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.py:388
msgid "The field {0} in row {1} is not set"
@@ -54388,7 +55339,7 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:188
msgid "The fields From Shareholder and To Shareholder cannot be blank"
-msgstr "來自股東和股東的字段不能為空"
+msgstr ""
#: banking/src/pages/BankStatementImporter.tsx:171
msgid "The file should contain the following columns with a distinct header row. You can upload most bank statements as is without changing the columns."
@@ -54405,13 +55356,13 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:240
msgid "The folio numbers are not matching"
-msgstr "作品集編號不匹配"
+msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:305
msgid "The following Items, having Putaway Rules, could not be accomodated:"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:138
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:141
msgid "The following Purchase Invoices are not submitted:"
msgstr ""
@@ -54419,15 +55370,15 @@ msgstr ""
msgid "The following assets have failed to automatically post depreciation entries: {0}"
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:309
+#: erpnext/stock/doctype/pick_list/pick_list.py:311
msgid "The following batches are expired, please restock them:
{0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:446
+#: erpnext/controllers/accounts_controller.py:451
msgid "The following cancelled repost entries exist for {0}:
{1}
Kindly delete these entries before continuing."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:949
+#: erpnext/stock/doctype/item/item.py:959
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 ""
@@ -54439,17 +55390,20 @@ msgstr ""
msgid "The following invalid Pricing Rules are deleted:"
msgstr ""
-#: erpnext/accounts/doctype/payment_request/payment_request.py:623
-msgid ""
-"The following payment schedule(s) already exist:\n"
+#: erpnext/accounts/doctype/payment_request/payment_request.py:639
+msgid "The following payment schedule(s) already exist:\n"
"{0}"
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:112
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:115
msgid "The following rows are duplicates:"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:864
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:130
+msgid "The following vouchers are not submitted: {0}"
+msgstr ""
+
+#: erpnext/stock/doctype/material_request/material_request.py:1062
msgid "The following {0} were created: {1}"
msgstr ""
@@ -54466,13 +55420,13 @@ msgstr ""
#: erpnext/setup/doctype/holiday_list/holiday_list.py:126
msgid "The holiday on {0} is not between From Date and To Date"
-msgstr "在{0}這個節日之間沒有從日期和結束日期"
+msgstr ""
#: banking/src/components/features/BankReconciliation/RecordPaymentModalContent.tsx:788
msgid "The invoice is not fully allocated as there is a difference of {0}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1307
+#: erpnext/controllers/buying_controller.py:1326
msgid "The item {item} is not marked as {type_of} item. You can enable it as {type_of} item from its Item master."
msgstr ""
@@ -54480,15 +55434,15 @@ msgstr ""
msgid "The items {0} and {1} are present in the following {2} :"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1300
+#: erpnext/controllers/buying_controller.py:1319
msgid "The items {items} are not marked as {type_of} item. You can enable them as {type_of} item from their Item masters."
msgstr ""
-#: erpnext/manufacturing/doctype/workstation/workstation.py:582
+#: erpnext/manufacturing/doctype/workstation/workstation.py:583
msgid "The job card {0} is in {1} state and you cannot complete."
msgstr ""
-#: erpnext/manufacturing/doctype/workstation/workstation.py:576
+#: erpnext/manufacturing/doctype/workstation/workstation.py:577
msgid "The job card {0} is in {1} state and you cannot start it again."
msgstr ""
@@ -54496,7 +55450,7 @@ msgstr ""
msgid "The last account row must not have any debit or credit amounts set."
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:533
+#: erpnext/public/js/utils/barcode_scanner.js:542
msgid "The last scanned warehouse has been cleared and won't be set in the subsequently scanned items"
msgstr ""
@@ -54516,7 +55470,7 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:196
msgid "The number of shares and the share numbers are inconsistent"
-msgstr "股份數量和庫存數量不一致"
+msgstr ""
#: banking/src/components/features/BankReconciliation/MatchAndReconcile.tsx:987
msgid "The opening balance might not match your bank statement. Would you like to reconcile them?"
@@ -54534,17 +55488,17 @@ msgstr ""
msgid "The original invoice should be consolidated before or along with the return invoice."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:224
+#: erpnext/controllers/accounts_controller.py:229
msgid "The outstanding amount {0} in {1} is lesser than {2}. Updating the outstanding to this invoice."
msgstr ""
-#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:232
+#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:233
msgid "The parent account {0} does not exists in the uploaded template"
msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:188
msgid "The payment gateway account in plan {0} is different from the payment gateway account in this payment request"
-msgstr "計劃{0}中的支付閘道科目與此付款請求中的支付閘道科目不同"
+msgstr ""
#. Description of the 'Over Order Allowance (%)' (Float) field in DocType
#. 'Buying Settings'
@@ -54585,7 +55539,7 @@ msgstr ""
msgid "The reference number of the transaction"
msgstr ""
-#: erpnext/public/js/utils.js:985
+#: erpnext/public/js/utils.js:1011
msgid "The reserved stock will be released when you update items. Are you certain you wish to proceed?"
msgstr ""
@@ -54593,13 +55547,13 @@ msgstr ""
msgid "The reserved stock will be released. Are you certain you wish to proceed?"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:218
+#: erpnext/accounts/doctype/account/account.py:249
msgid "The root account {0} must be a group"
msgstr ""
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:87
msgid "The selected BOMs are not for the same item"
-msgstr "所選的材料清單並不同樣項目"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:540
msgid "The selected change account {} doesn't belongs to Company {}."
@@ -54607,18 +55561,18 @@ msgstr ""
#: erpnext/stock/doctype/batch/batch.py:156
msgid "The selected item cannot have Batch"
-msgstr "所選項目不能批"
+msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:661
+#: erpnext/assets/doctype/asset/asset.js:669
msgid "The sell quantity is less than the total asset quantity. The remaining quantity will be split into a new asset. This action cannot be undone.
Do you want to continue?"
msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:194
msgid "The seller and the buyer cannot be the same"
-msgstr "賣方和買方不能相同"
+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:198
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:187
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:199
msgid "The serial and batch bundle {0} not linked to {1} {2}"
msgstr ""
@@ -54628,21 +55582,21 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:230
msgid "The shareholder does not belong to this company"
-msgstr "股東不屬於這家公司"
+msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:160
msgid "The shares already exist"
-msgstr "股份已經存在"
+msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:166
msgid "The shares don't exist with the {0}"
-msgstr "這些份額不存在於{0}"
-
-#: erpnext/stock/stock_ledger.py:824
-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:740
+#: erpnext/stock/stock_ledger.py:866
+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 "項目 {0} 在倉庫 {1} 的庫存於 {2} 為負。您應在日期 {4} 與時間 {5} 之前建立正數分錄 {3},以過帳正確的估值單價。詳情請閱讀文件。"
+
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:742
msgid "The stock has been reserved for the following Items and Warehouses, un-reserve the same to {0} the Stock Reconciliation:
{1}"
msgstr ""
@@ -54664,19 +55618,19 @@ msgstr ""
msgid "The system will create a Sales Invoice or a POS Invoice from the POS interface based on this setting. For high-volume transactions, it is recommended to use POS Invoice."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1110
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1112
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:1121
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1123
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 ""
-#: erpnext/stock/doctype/material_request/material_request.py:349
+#: erpnext/stock/doctype/material_request/material_request.py:400
msgid "The total Issue / Transfer quantity {0} in Material Request {1} cannot be greater than allowed requested quantity {2} for Item {3}"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:356
+#: erpnext/stock/doctype/material_request/material_request.py:407
msgid "The total Issue / Transfer quantity {0} in Material Request {1} cannot be greater than requested quantity {2} for Item {3}"
msgstr ""
@@ -54684,7 +55638,7 @@ msgstr ""
msgid "The uploaded file could not be parsed as a genericode XML document."
msgstr ""
-#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:154
+#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:178
msgid "The uploaded file does not appear to be in valid MT940 format."
msgstr ""
@@ -54712,19 +55666,23 @@ msgstr ""
msgid "The value of {0} differs between Items {1} and {2}"
msgstr ""
-#: erpnext/controllers/item_variant.py:196
+#: erpnext/controllers/item_variant.py:258
msgid "The value {0} is already assigned to an existing Item {1}."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1258
+#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.py:307
+msgid "The warehouse account(s) below are not of type 'Stock'. Please set a correct Stock asset account on the warehouse (Account Type must be 'Stock'):"
+msgstr ""
+
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1269
msgid "The warehouse where you store finished Items before they are shipped."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1251
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1262
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 ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1263
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1274
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."
msgstr ""
@@ -54736,7 +55694,7 @@ msgstr ""
msgid "The {0} ({1}) must be equal to {2} ({3})"
msgstr ""
-#: erpnext/public/js/controllers/transaction.js:3398
+#: erpnext/public/js/controllers/transaction.js:3387
msgid "The {0} contains Unit Price Items."
msgstr ""
@@ -54744,7 +55702,7 @@ msgstr ""
msgid "The {0} prefix '{1}' already exists. Please change the Serial No Series, otherwise you will get a Duplicate Entry error."
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:870
+#: erpnext/stock/doctype/material_request/material_request.py:1068
msgid "The {0} {1} created successfully"
msgstr ""
@@ -54752,7 +55710,7 @@ msgstr ""
msgid "The {0} {1} does not match with the {0} {2} in the {3} {4}"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1015
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1028
msgid "The {0} {1} is used to calculate the valuation cost for the finished good {2}."
msgstr ""
@@ -54766,9 +55724,9 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.py:201
msgid "There are inconsistencies between the rate, no of shares and the amount calculated"
-msgstr "費率,股份數量和計算的金額之間不一致"
+msgstr ""
-#: erpnext/accounts/doctype/account/account.py:203
+#: erpnext/accounts/doctype/account/account.py:204
msgid "There are ledger entries against this account. Changing {0} to non-{1} in live system will cause incorrect output in 'Accounts {2}' report"
msgstr ""
@@ -54797,7 +55755,7 @@ msgstr ""
msgid "There are no transactions in the system for the selected bank account and dates that match the filters."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1290
+#: erpnext/stock/doctype/item/item.js:1296
msgid "There are two options to maintain valuation of stock. FIFO (first in - first out) and Moving Average. To understand this topic in detail please visit Item Valuation, FIFO and Moving Average."
msgstr ""
@@ -54813,13 +55771,13 @@ msgstr ""
msgid "There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier."
msgstr ""
-#: erpnext/accounts/party.py:595
+#: erpnext/accounts/party.py:611
msgid "There can only be 1 Account per Company in {0} {1}"
-msgstr "只能有每公司1科目{0} {1}"
+msgstr ""
-#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:86
+#: erpnext/accounts/doctype/shipping_rule/shipping_rule.py:85
msgid "There can only be one Shipping Rule Condition with 0 or blank value for \"To Value\""
-msgstr "只能有一個運輸規則條件為0或空值“ To值”"
+msgstr ""
#: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.py:65
msgid "There is already a valid Lower Deduction Certificate {0} for Supplier {1} against category {2} for this time period."
@@ -54837,7 +55795,7 @@ msgstr ""
msgid "There is one unreconciled transaction before {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2035
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2111
msgid "There must be atleast 1 Finished Good in this Stock Entry"
msgstr ""
@@ -54891,7 +55849,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.js:251
msgid "This Item is a Variant of {0} (Template)."
-msgstr "此項目是{0}(模板)的變體。"
+msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:182
msgid "This Month's Summary"
@@ -54905,7 +55863,7 @@ msgstr ""
msgid "This Payment Entry is reconciled with {0}. Cancelling will automatically unreconcile it. Do you want to proceed?"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:985
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:986
msgid "This Purchase Order has been fully subcontracted."
msgstr ""
@@ -54915,11 +55873,11 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:179
msgid "This Week's Summary"
-msgstr "本週的總結"
+msgstr ""
#: erpnext/accounts/doctype/subscription/subscription.js:63
msgid "This action will stop future billing. Are you sure you want to cancel this subscription?"
-msgstr "此操作將停止未來的結算。您確定要取消此訂閱嗎?"
+msgstr ""
#: erpnext/accounts/doctype/bank_account/bank_account.js:35
msgid "This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?"
@@ -54947,11 +55905,15 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py:7
msgid "This covers all scorecards tied to this Setup"
-msgstr "這涵蓋了與此安裝程序相關的所有記分卡"
+msgstr ""
-#: erpnext/controllers/status_updater.py:500
+#: erpnext/controllers/status_updater.py:502
msgid "This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?"
-msgstr "這份文件是超過限制,通過{0} {1}項{4}。你在做另一個{3}對同一{2}?"
+msgstr ""
+
+#: erpnext/templates/emails/appointment_confirmed.html:6
+msgid "This email was sent from {0}"
+msgstr ""
#: erpnext/stock/doctype/delivery_note/delivery_note.js:496
msgid "This field is used to set the 'Customer'."
@@ -55002,31 +55964,31 @@ msgstr ""
#: erpnext/accounts/doctype/account/account.js:45
msgid "This is a root account and cannot be edited."
-msgstr "這是一個 root 科目,不能被編輯。"
+msgstr ""
#: erpnext/setup/doctype/customer_group/customer_group.js:44
msgid "This is a root customer group and cannot be edited."
-msgstr "ERPNext是一個開源的基於Web的ERP系統,通過網路技術,向私人有限公司提供整合的工具,在一個小的組織管理大多數流程。有關Web註釋,或購買託管,想得到更多資訊,請連結"
+msgstr ""
#: erpnext/setup/doctype/department/department.js:14
msgid "This is a root department and cannot be edited."
-msgstr "這是根部門,無法編輯。"
+msgstr ""
#: erpnext/setup/doctype/item_group/item_group.js:98
msgid "This is a root item group and cannot be edited."
-msgstr "這是個根項目群組,且無法被編輯。"
+msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person.js:46
msgid "This is a root sales person and cannot be edited."
-msgstr "您可以通過選擇備份頻率啟動和\\"
+msgstr ""
#: erpnext/setup/doctype/supplier_group/supplier_group.js:43
msgid "This is a root supplier group and cannot be edited."
-msgstr "這是一個根源供應商組,無法編輯。"
+msgstr ""
#: erpnext/setup/doctype/territory/territory.js:22
msgid "This is a root territory and cannot be edited."
-msgstr "集團或Ledger ,借方或貸方,是特等科目"
+msgstr ""
#: banking/src/components/features/BankReconciliation/Rules/RuleForm.tsx:425
msgid "This is auto computed to balance the journal entry."
@@ -55034,29 +55996,29 @@ msgstr ""
#: erpnext/stock/doctype/item/item_dashboard.py:7
msgid "This is based on stock movement. See {0} for details"
-msgstr "這是基於庫存移動。見{0}詳情"
+msgstr ""
#: erpnext/projects/doctype/project/project_dashboard.py:7
msgid "This is based on the Time Sheets created against this project"
-msgstr "這是基於對這個項目產生的考勤表"
+msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person_dashboard.py:7
msgid "This is based on transactions against this Sales Person. See timeline below for details"
-msgstr "這是基於針對此銷售人員的交易。請參閱下面的時間表了解詳情"
+msgstr ""
#: erpnext/stock/doctype/stock_settings/stock_settings.js:107
msgid "This is considered dangerous from accounting point of view."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:536
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:546
msgid "This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1244
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1255
msgid "This is enabled by default. If you want to plan materials for sub-assemblies of the Item you're manufacturing leave this enabled. If you plan and manufacture the sub-assemblies separately, you can disable this checkbox."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1278
+#: erpnext/stock/doctype/item/item.js:1284
msgid "This is for raw material Items that'll be used to create finished goods. If the Item is an additional service like 'washing' that'll be used in the BOM, keep this unchecked."
msgstr ""
@@ -55095,6 +56057,10 @@ msgstr ""
msgid "This item filter has already been applied for the {0}"
msgstr ""
+#: erpnext/templates/emails/confirm_appointment.html:4
+msgid "This link is valid for {0} minutes"
+msgstr ""
+
#: erpnext/www/banking.py:35
msgid "This method is only meant for developer mode"
msgstr ""
@@ -55131,11 +56097,11 @@ msgstr ""
msgid "This schedule was created when Asset {0} was consumed through Asset Capitalization {1}."
msgstr ""
-#: erpnext/assets/doctype/asset_repair/asset_repair.py:435
+#: erpnext/assets/doctype/asset_repair/asset_repair.py:438
msgid "This schedule was created when Asset {0} was repaired through Asset Repair {1}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1549
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1555
msgid "This schedule was created when Asset {0} was restored due to Sales Invoice {1} cancellation."
msgstr ""
@@ -55147,7 +56113,7 @@ msgstr ""
msgid "This schedule was created when Asset {0} was restored."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1545
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1551
msgid "This schedule was created when Asset {0} was returned through Sales Invoice {1}."
msgstr ""
@@ -55159,7 +56125,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:1521
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1527
msgid "This schedule was created when Asset {0} was {1} through Sales Invoice {2}."
msgstr ""
@@ -55212,6 +56178,10 @@ msgstr ""
msgid "This value shall be used when no matching Common Code for a record is found."
msgstr ""
+#: erpnext/www/book_appointment/verify/index.py:18
+msgid "This verification link is invalid. Please book the appointment again."
+msgstr ""
+
#: banking/src/components/features/Settings/Preferences.tsx:86
msgid "This will automatically run transaction matching rules on unreconciled transactions every hour."
msgstr ""
@@ -55242,6 +56212,10 @@ msgstr ""
msgid "This will restrict user access to other employee records"
msgstr ""
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js:16
+msgid "This will update the warehouse and status of Serial Nos counted in {0} to match the stock ledger. Continue?"
+msgstr ""
+
#: erpnext/controllers/selling_controller.py:886
msgid "This {} will be treated as material transfer."
msgstr ""
@@ -55254,6 +56228,7 @@ msgstr ""
#. Label of the threshold_percentage (Percent) field in DocType 'Promotional
#. Scheme Price Discount'
+#. Label of the threshold_percentage (Percent) field in DocType 'Promotional
#. Scheme Product Discount'
#: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json
#: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json
@@ -55333,7 +56308,7 @@ msgstr ""
#: erpnext/config/projects.py:50
#: erpnext/projects/workspace/projects/projects.json
msgid "Time Tracking"
-msgstr "時間跟踪"
+msgstr ""
#. Description of the 'Posting Time' (Time) field in DocType 'Subcontracting
#. Receipt'
@@ -55356,13 +56331,13 @@ msgstr ""
msgid "Time logs are required for {0} {1}"
msgstr ""
-#: erpnext/crm/doctype/appointment/appointment.py:60
+#: erpnext/crm/doctype/appointment/appointment.py:133
msgid "Time slot is not available"
msgstr ""
#: erpnext/templates/generators/bom.html:71
msgid "Time(in mins)"
-msgstr "時間(分鐘)"
+msgstr ""
#. Label of the section_break_18 (Section Break) field in DocType 'Project'
#. Label of the sb_timeline (Section Break) field in DocType 'Task'
@@ -55380,11 +56355,11 @@ msgstr ""
#: erpnext/manufacturing/doctype/workstation/workstation_job_card.html:36
#: erpnext/public/js/projects/timer.js:5
msgid "Timer"
-msgstr "計時器"
+msgstr ""
#: erpnext/public/js/projects/timer.js:151
msgid "Timer exceeded the given hours."
-msgstr "計時器超出了指定的小時數"
+msgstr ""
#. Name of a DocType
#. Label of a Link in the Projects Workspace
@@ -55397,7 +56372,7 @@ msgstr "計時器超出了指定的小時數"
#: erpnext/templates/pages/projects.html:65
#: erpnext/workspace_sidebar/projects.json
msgid "Timesheet"
-msgstr "時間表"
+msgstr ""
#. Name of a report
#. Label of a Link in the Projects Workspace
@@ -55414,13 +56389,13 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json
msgid "Timesheet Detail"
-msgstr "詳細時間表"
+msgstr ""
#: erpnext/config/projects.py:55
msgid "Timesheet for tasks."
-msgstr "時間表的任務。"
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:942
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:948
msgid "Timesheet {0} cannot be invoiced in its current state"
msgstr ""
@@ -55430,7 +56405,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.py:572
#: erpnext/templates/pages/projects.html:60
msgid "Timesheets"
-msgstr "時間表"
+msgstr ""
#: erpnext/utilities/activation.py:125
msgid "Timesheets help keep track of time, cost and billing for activities done by your team"
@@ -55460,14 +56435,14 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js:21
msgid "To Bill"
-msgstr "發票待輸入"
+msgstr ""
#. Label of the to_currency (Link) field in DocType 'Currency Exchange'
#: erpnext/setup/doctype/currency_exchange/currency_exchange.json
msgid "To Currency"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:645
+#: erpnext/controllers/accounts_controller.py:650
#: erpnext/setup/doctype/holiday_list/holiday_list.py:121
msgid "To Date cannot be before From Date"
msgstr ""
@@ -55480,7 +56455,7 @@ msgstr ""
#: erpnext/accounts/report/financial_statements.py:141
msgid "To Date cannot be less than From Date"
-msgstr "迄今不能少於起始日期"
+msgstr ""
#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:30
msgid "To Date is mandatory"
@@ -55494,11 +56469,11 @@ msgstr ""
#: erpnext/accounts/report/trial_balance/trial_balance.py:77
msgid "To Date should be within the Fiscal Year. Assuming To Date = {0}"
-msgstr "日期應該是在財政年度內。假設終止日期= {0}"
+msgstr ""
#: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py:30
msgid "To Datetime"
-msgstr "以日期時間"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:118
msgid "To Delete list generated with {0} DocTypes"
@@ -55512,7 +56487,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order_list.js:37
#: erpnext/selling/doctype/sales_order/sales_order_list.js:50
msgid "To Deliver"
-msgstr "為了提供"
+msgstr ""
#. Option for the 'Sales Order Status' (Select) field in DocType 'Production
#. Plan'
@@ -55521,7 +56496,7 @@ msgstr "為了提供"
#: erpnext/selling/doctype/sales_order/sales_order.json
#: erpnext/selling/doctype/sales_order/sales_order_list.js:44
msgid "To Deliver and Bill"
-msgstr "準備交貨及開立發票"
+msgstr ""
#. Label of the to_delivery_date (Date) field in DocType 'Production Plan'
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
@@ -55547,7 +56522,7 @@ msgstr ""
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:59
msgid "To Fiscal Year"
-msgstr "到財政年度"
+msgstr ""
#. Label of the to_folio_no (Data) field in DocType 'Share Transfer'
#: erpnext/accounts/doctype/share_transfer/share_transfer.json
@@ -55557,6 +56532,7 @@ msgstr ""
#. Label of the to_invoice_date (Date) field in DocType 'Payment
#. Reconciliation'
#. Label of the to_invoice_date (Date) field in DocType 'Process Payment
+#. Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
msgid "To Invoice Date"
@@ -55584,6 +56560,7 @@ msgstr ""
#. Label of the to_payment_date (Date) field in DocType 'Payment
#. Reconciliation'
#. Label of the to_payment_date (Date) field in DocType 'Process Payment
+#. Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
msgid "To Payment Date"
@@ -55605,13 +56582,13 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/purchase_order/purchase_order_list.js:32
msgid "To Receive"
-msgstr "接受"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Purchase Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/purchase_order/purchase_order_list.js:26
msgid "To Receive and Bill"
-msgstr "準備收料及接收發票"
+msgstr ""
#. Label of the to_reference_date (Date) field in DocType 'Bank Reconciliation
#. Tool'
@@ -55658,7 +56635,7 @@ msgstr ""
#: erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
#: erpnext/templates/pages/timelog_info.html:34
msgid "To Time"
-msgstr "要時間"
+msgstr ""
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:108
msgid "To Time cannot be before from date"
@@ -55677,30 +56654,30 @@ msgstr ""
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:224
#: erpnext/stock/doctype/batch/batch.js:116
msgid "To Warehouse"
-msgstr "到倉庫"
+msgstr ""
#. Label of the target_warehouse (Link) field in DocType 'Packed Item'
#: erpnext/stock/doctype/packed_item/packed_item.json
msgid "To Warehouse (Optional)"
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:1002
+#: erpnext/manufacturing/doctype/bom/bom.js:1006
msgid "To add Operations tick the 'With Operations' checkbox."
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:741
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:739
msgid "To add subcontracted Item's raw materials if include exploded items is disabled."
msgstr ""
-#: erpnext/controllers/status_updater.py:493
+#: erpnext/controllers/status_updater.py:495
msgid "To allow over billing, update \"Over Billing Allowance\" in Accounts Settings or the Item."
msgstr ""
-#: erpnext/controllers/status_updater.py:487
+#: erpnext/controllers/status_updater.py:489
msgid "To allow over ordering, update \"Over Order Allowance\" in Buying Settings."
msgstr ""
-#: erpnext/controllers/status_updater.py:489
+#: erpnext/controllers/status_updater.py:491
msgid "To allow over receipt / delivery, update \"Over Receipt/Delivery Allowance\" in Stock Settings or the Item."
msgstr ""
@@ -55710,23 +56687,23 @@ msgstr ""
msgid "To be Delivered to Customer"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:579
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:580
msgid "To cancel a {} you need to cancel the POS Closing Entry {}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:592
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:593
msgid "To cancel this Sales Invoice you need to cancel the POS Closing Entry {}."
msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:140
msgid "To create a Payment Request reference document is required"
-msgstr "要創建付款請求參考文檔是必需的"
+msgstr ""
#: erpnext/assets/doctype/asset_category/asset_category.py:110
msgid "To enable Capital Work in Progress Accounting,"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:734
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:732
msgid "To include non-stock items in the material request planning. i.e. Items for which 'Maintain Stock' checkbox is unticked."
msgstr ""
@@ -55737,19 +56714,19 @@ msgid "To include sub-assembly costs and secondary items in Finished Goods on a
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2268
-#: erpnext/controllers/accounts_controller.py:3275
+#: erpnext/controllers/accounts_controller.py:3280
msgid "To include tax in row {0} in Item rate, taxes in rows {1} must also be included"
-msgstr "要包括稅款,行{0}項率,稅收行{1}也必須包括在內"
+msgstr ""
#: erpnext/stock/doctype/item/item.py:693
msgid "To merge, following properties must be same for both items"
-msgstr "若要合併,以下屬性必須為這兩個項目是相同的"
+msgstr ""
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.js:59
msgid "To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:553
+#: erpnext/accounts/doctype/account/account.py:584
msgid "To overrule this, enable '{0}' in company {1}"
msgstr ""
@@ -55757,15 +56734,15 @@ msgstr ""
msgid "To select more than one transaction at a time, press and hold the shift key."
msgstr ""
-#: erpnext/controllers/item_variant.py:199
+#: erpnext/controllers/item_variant.py:261
msgid "To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings."
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:627
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:637
msgid "To submit the invoice without purchase order please set {0} as {1} in {2}"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:649
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:659
msgid "To submit the invoice without purchase receipt please set {0} as {1} in {2}"
msgstr ""
@@ -55777,7 +56754,9 @@ msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:749
#: erpnext/accounts/report/financial_statements.py:621
#: erpnext/accounts/report/general_ledger/general_ledger.py:318
+#: erpnext/accounts/report/general_ledger/general_ledger.py:1071
#: erpnext/accounts/report/trial_balance/trial_balance.py:310
+#: erpnext/accounts/report/trial_balance/trial_balance.py:640
msgid "To use a different finance book, please uncheck 'Include Default FB Entries'"
msgstr ""
@@ -55819,6 +56798,26 @@ msgstr ""
msgid "Too many columns. Export the report and print it using a spreadsheet application."
msgstr ""
+#. Label of a Card Break in the Manufacturing Workspace
+#. Label of the tools (Column Break) field in DocType 'Email Digest'
+#. Label of a Card Break in the Stock Workspace
+#. Label of a Workspace Sidebar Item
+#: erpnext/buying/doctype/purchase_order/purchase_order.js:587
+#: erpnext/buying/doctype/purchase_order/purchase_order.js:663
+#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:61
+#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:149
+#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:456
+#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:465
+#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:84
+#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:123
+#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
+#: erpnext/setup/doctype/email_digest/email_digest.json
+#: erpnext/stock/workspace/stock/stock.json
+#: erpnext/workspace_sidebar/manufacturing.json
+#: erpnext/workspace_sidebar/stock.json
+msgid "Tools"
+msgstr ""
+
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Torr"
@@ -55829,8 +56828,10 @@ msgstr ""
#. Label of the base_total (Currency) field in DocType 'POS Invoice'
#. Label of the base_total (Currency) field in DocType 'Purchase Invoice'
#. Label of the base_total (Currency) field in DocType 'Purchase Taxes and
+#. Charges'
#. Label of the base_total (Currency) field in DocType 'Sales Invoice'
#. Label of the base_total (Currency) field in DocType 'Sales Taxes and
+#. Charges'
#. Label of the base_total (Currency) field in DocType 'Purchase Order'
#. Label of the base_total (Currency) field in DocType 'Supplier Quotation'
#. Label of the base_total (Currency) field in DocType 'Opportunity'
@@ -55854,18 +56855,18 @@ msgstr ""
msgid "Total (Company Currency)"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:127
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:128
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:136
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:137
msgid "Total (Credit)"
-msgstr "總(信用)"
+msgstr ""
#: erpnext/templates/print_formats/includes/total.html:4
msgid "Total (Without Tax)"
-msgstr "總計(不含稅)"
+msgstr ""
#: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py:137
msgid "Total Achieved"
-msgstr "實現總計"
+msgstr ""
#. Label of a number card in the Stock Workspace
#: erpnext/stock/workspace/stock/stock.json
@@ -55874,12 +56875,13 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:349
msgid "Total Actual"
-msgstr "實際總計"
+msgstr ""
#. Label of the total_additional_costs (Currency) field in DocType 'Stock
#. Entry'
#. Label of the total_additional_costs (Currency) field in DocType
#. 'Subcontracting Order'
+#. Label of the total_additional_costs (Currency) field in DocType
#. 'Subcontracting Receipt'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
@@ -55943,7 +56945,7 @@ msgstr ""
#: erpnext/stock/report/item_wise_consumption/item_wise_consumption.py:66
#: erpnext/templates/includes/order/order_taxes.html:54
msgid "Total Amount"
-msgstr "總金額"
+msgstr ""
#. Label of the total_amount_currency (Link) field in DocType 'Journal Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -55961,9 +56963,9 @@ msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:262
msgid "Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges"
-msgstr "在外購入庫單項目表總的相關費用必須是相同的總稅費"
+msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:217
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:226
msgid "Total Asset"
msgstr ""
@@ -55972,10 +56974,6 @@ msgstr ""
msgid "Total Asset Cost"
msgstr ""
-#: erpnext/assets/dashboard_fixtures.py:158
-msgid "Total Assets"
-msgstr ""
-
#. Label of the total_billable_amount (Currency) field in DocType 'Timesheet'
#: erpnext/projects/doctype/timesheet/timesheet.json
msgid "Total Billable Amount"
@@ -56023,7 +57021,7 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:349
msgid "Total Budget"
-msgstr "預算總額"
+msgstr ""
#. Label of the total_characters (Int) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -56040,7 +57038,7 @@ msgstr ""
#: erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py:170
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Total Commission"
-msgstr "佣金總計"
+msgstr ""
#. Label of the total_completed_qty (Float) field in DocType 'Job Card'
#: erpnext/manufacturing/doctype/job_card/job_card.json
@@ -56105,7 +57103,7 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:347
msgid "Total Credit/ Debit Amount should be same as linked Journal Entry"
-msgstr "總信用/借方金額應與鏈接的日記帳分錄相同"
+msgstr ""
#. Label of the total_credits (Currency) field in DocType 'Bank Statement
#. Import Log'
@@ -56126,9 +57124,9 @@ msgstr ""
msgid "Total Debit Transactions"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:941
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:952
msgid "Total Debit must be equal to Total Credit. The difference is {0}"
-msgstr "借方總額必須等於貸方總額。差額為{0}"
+msgstr ""
#. Label of the total_debits (Currency) field in DocType 'Bank Statement Import
#. Log'
@@ -56145,7 +57143,7 @@ msgstr ""
msgid "Total Demand (Past Data)"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:224
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:233
msgid "Total Equity"
msgstr ""
@@ -56154,11 +57152,11 @@ msgstr ""
msgid "Total Estimated Distance"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:123
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:131
msgid "Total Expense"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:119
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:127
msgid "Total Expense This Year"
msgstr ""
@@ -56196,11 +57194,11 @@ msgstr ""
msgid "Total Holidays"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:122
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:130
msgid "Total Income"
msgstr ""
-#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:118
+#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:126
msgid "Total Income This Year"
msgstr ""
@@ -56218,7 +57216,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html:135
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html:135
msgid "Total Invoiced Amount"
-msgstr "發票總金額"
+msgstr ""
#: erpnext/support/report/issue_summary/issue_summary.py:82
msgid "Total Issues"
@@ -56228,7 +57226,7 @@ msgstr ""
msgid "Total Items"
msgstr ""
-#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:24
+#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:26
msgid "Total Landed Cost"
msgstr ""
@@ -56243,7 +57241,7 @@ msgstr ""
msgid "Total Ledgers"
msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:220
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:229
msgid "Total Liability"
msgstr ""
@@ -56287,6 +57285,7 @@ msgstr ""
#. Label of the total_number_of_depreciations (Int) field in DocType 'Asset'
#. Label of the total_number_of_depreciations (Int) field in DocType 'Asset
#. Depreciation Schedule'
+#. Label of the total_number_of_depreciations (Int) field in DocType 'Asset
#. Finance Book'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -56310,11 +57309,11 @@ msgstr ""
#: erpnext/selling/report/inactive_customers/inactive_customers.py:104
msgid "Total Order Considered"
-msgstr "總訂貨考慮"
+msgstr ""
#: erpnext/selling/report/inactive_customers/inactive_customers.py:103
msgid "Total Order Value"
-msgstr "總訂單價值"
+msgstr ""
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:628
msgid "Total Other Charges"
@@ -56322,7 +57321,7 @@ msgstr ""
#: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:62
msgid "Total Outgoing"
-msgstr "出貨總計"
+msgstr ""
#. Label of the total_outgoing_value (Currency) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -56336,23 +57335,23 @@ msgstr ""
#: erpnext/accounts/report/accounts_payable/accounts_payable.html:206
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:204
msgid "Total Outstanding"
-msgstr "總計傑出"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:208
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html:138
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html:138
msgid "Total Outstanding Amount"
-msgstr "未償還總額"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:200
#: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.html:136
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.html:136
msgid "Total Paid Amount"
-msgstr "總支付金額"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:2830
+#: erpnext/controllers/accounts_controller.py:2835
msgid "Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total"
-msgstr "支付計劃中的總付款金額必須等於大/圓"
+msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:167
msgid "Total Payment Request amount cannot be greater than {0} amount"
@@ -56397,7 +57396,7 @@ msgstr ""
#: erpnext/stock/report/item_wise_consumption/item_wise_consumption.py:65
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py:139
msgid "Total Qty"
-msgstr "總數量"
+msgstr ""
#. Label of the total_quantity (Float) field in DocType 'POS Closing Entry'
#. Label of the total_qty (Float) field in DocType 'POS Invoice'
@@ -56428,7 +57427,7 @@ msgstr "總數量"
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Total Quantity"
-msgstr "總數(量"
+msgstr ""
#: erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py:51
msgid "Total Received Amount"
@@ -56441,7 +57440,7 @@ msgstr ""
#: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py:44
msgid "Total Revenue"
-msgstr "總收入"
+msgstr ""
#. Label of a number card in the Selling Workspace
#: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:257
@@ -56457,7 +57456,7 @@ msgstr ""
#. Name of a report
#: erpnext/stock/report/total_stock_summary/total_stock_summary.json
msgid "Total Stock Summary"
-msgstr "總庫存總結"
+msgstr ""
#. Label of a number card in the Stock Workspace
#: erpnext/stock/workspace/stock/stock.json
@@ -56475,7 +57474,7 @@ msgstr ""
#: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py:130
msgid "Total Target"
-msgstr "總目標"
+msgstr ""
#: erpnext/projects/report/project_summary/project_summary.py:65
#: erpnext/projects/report/project_summary/project_summary.py:102
@@ -56486,9 +57485,9 @@ msgstr ""
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:621
#: erpnext/accounts/report/purchase_register/purchase_register.py:279
msgid "Total Tax"
-msgstr "總稅收"
+msgstr ""
-#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:86
+#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:85
msgid "Total Taxable Amount"
msgstr ""
@@ -56496,15 +57495,22 @@ msgstr ""
#. Entry'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'POS
#. Closing Entry'
+#. Label of the total_taxes_and_charges (Currency) field in DocType 'POS
#. Invoice'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'Purchase
+#. Invoice'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'Sales
+#. Invoice'
+#. Label of the total_taxes_and_charges (Currency) field in DocType 'Purchase
#. Order'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'Supplier
#. Quotation'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'Quotation'
+#. Label of the total_taxes_and_charges (Currency) field in DocType 'Sales
+#. Order'
#. Label of the total_taxes_and_charges (Currency) field in DocType 'Delivery
#. Note'
+#. Label of the total_taxes_and_charges (Currency) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
@@ -56524,13 +57530,21 @@ msgstr ""
#. 'Payment Entry'
#. Label of the base_total_taxes_and_charges (Currency) field in DocType 'POS
#. Invoice'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Purchase Invoice'
#. Label of the base_total_taxes_and_charges (Currency) field in DocType 'Sales
+#. Invoice'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Purchase Order'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Supplier Quotation'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Quotation'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType 'Sales
#. Order'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Delivery Note'
+#. Label of the base_total_taxes_and_charges (Currency) field in DocType
#. 'Purchase Receipt'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -56578,7 +57592,7 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:349
#: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py:144
msgid "Total Variance"
-msgstr "總方差"
+msgstr ""
#. Label of the total_vendor_invoices_cost (Currency) field in DocType 'Landed
#. Cost Voucher'
@@ -56635,9 +57649,9 @@ msgstr ""
#: erpnext/controllers/selling_controller.py:257
msgid "Total allocated percentage for sales team should be 100"
-msgstr "對於銷售團隊總分配比例應為100"
+msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:195
+#: erpnext/selling/doctype/customer/customer.py:199
msgid "Total contribution percentage should be equal to 100"
msgstr ""
@@ -56654,7 +57668,7 @@ msgid "Total hours: {0}"
msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:570
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:563
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:564
msgid "Total payments amount can't be greater than {}"
msgstr ""
@@ -56671,26 +57685,31 @@ msgstr ""
#: erpnext/accounts/report/financial_statements.py:352
#: erpnext/accounts/report/financial_statements.py:353
msgid "Total {0} ({1})"
-msgstr "總{0}({1})"
+msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:243
msgid "Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'"
-msgstr "共有{0}所有項目為零,可能是你應該“基於分佈式費用”改變"
+msgstr ""
-#: erpnext/controllers/trends.py:25 erpnext/controllers/trends.py:32
+#: erpnext/controllers/trends.py:26 erpnext/controllers/trends.py:33
msgid "Total(Amt)"
msgstr ""
-#: erpnext/controllers/trends.py:25 erpnext/controllers/trends.py:32
+#: erpnext/controllers/trends.py:26 erpnext/controllers/trends.py:33
msgid "Total(Qty)"
-msgstr "總計(數量)"
+msgstr ""
#. Label of the base_totals_section (Section Break) field in DocType 'Purchase
#. Invoice'
#. Label of the base_totals_section (Section Break) field in DocType 'Sales
+#. Invoice'
+#. Label of the base_totals_section (Section Break) field in DocType 'Purchase
+#. Order'
+#. Label of the base_totals_section (Section Break) field in DocType 'Sales
#. Order'
#. Label of the base_totals_section (Section Break) field in DocType 'Delivery
#. Note'
+#. Label of the base_totals_section (Section Break) field in DocType 'Purchase
#. Receipt'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -56788,7 +57807,7 @@ msgstr ""
msgid "Transaction Dates"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:1091
+#: erpnext/setup/doctype/company/company.py:1093
msgid "Transaction Deletion Document {0} has been triggered for company {1}"
msgstr ""
@@ -56885,9 +57904,9 @@ msgstr ""
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.json
#: erpnext/accounts/doctype/bank_transaction_rule/bank_transaction_rule.json
#: erpnext/accounts/report/calculated_discount_mismatch/calculated_discount_mismatch.py:38
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:259
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:257
msgid "Transaction Type"
-msgstr "交易類型"
+msgstr ""
#: banking/src/components/features/BankReconciliation/BankTransactionUnreconcileModalBody.tsx:35
msgid "Transaction Unreconciled"
@@ -56899,7 +57918,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_request/payment_request.py:177
msgid "Transaction currency must be same as Payment Gateway currency"
-msgstr "交易貨幣必須與支付網關貨幣"
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:73
msgid "Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}"
@@ -56923,11 +57942,11 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.py:863
msgid "Transaction not allowed against stopped Work Order {0}"
-msgstr "不允許對停止的工單{0}進行交易"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1267
msgid "Transaction reference no {0} dated {1}"
-msgstr "交易參考編號{0}日{1}"
+msgstr ""
#. Option for the 'Detected Amount Format' (Select) field in DocType 'Bank
#. Statement Import Log'
@@ -56968,16 +57987,17 @@ msgstr ""
msgid "Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions."
msgstr ""
-#. Description of the 'Credit Limit' (Table) field in DocType 'Customer'
+#. Description of the 'Credit & Overdue Limits' (Table) field in DocType
+#. 'Customer'
#: erpnext/selling/doctype/customer/customer.json
-msgid "Transactions are blocked or warned when outstanding balance exceeds this amount."
+msgid "Transactions are blocked when the outstanding balance exceeds the credit limit. When Restrict Customer Over Billing is enabled, new invoices are also blocked when the customer's overdue amount exceeds the Overdue Limit."
msgstr ""
#: banking/src/components/features/BankStatementImporter/CSV/StatementDetails.tsx:239
msgid "Transactions to be imported into the system"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1206
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1212
msgid "Transactions using Sales Invoice in POS are disabled."
msgstr ""
@@ -57006,15 +58026,15 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:646
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:651
msgid "Transfer"
-msgstr "轉讓"
+msgstr ""
#: banking/src/components/features/ActionLog/ActionLogDialogBody.tsx:402
msgid "Transfer Account"
msgstr ""
-#: erpnext/assets/doctype/asset/asset.js:160
+#: erpnext/assets/doctype/asset/asset.js:168
msgid "Transfer Asset"
-msgstr "轉讓資產"
+msgstr ""
#. Label of the transfer_extra_materials_percentage (Percent) field in DocType
#. 'Manufacturing Settings'
@@ -57022,7 +58042,7 @@ msgstr "轉讓資產"
msgid "Transfer Extra Raw Materials to WIP (%)"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:458
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:456
msgid "Transfer From Warehouses"
msgstr ""
@@ -57038,7 +58058,7 @@ msgstr ""
msgid "Transfer Materials"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:453
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:451
msgid "Transfer Materials For Warehouse {0}"
msgstr ""
@@ -57056,7 +58076,7 @@ msgstr ""
#: erpnext/accounts/doctype/share_transfer/share_transfer.json
#: erpnext/accounts/report/share_ledger/share_ledger.py:53
msgid "Transfer Type"
-msgstr "轉移類型"
+msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Asset Movement'
#: erpnext/assets/doctype/asset_movement/asset_movement.json
@@ -57085,7 +58105,12 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
msgid "Transferred Qty"
-msgstr "轉讓數量"
+msgstr ""
+
+#. Label of the transferred_qty (Float) field in DocType 'Pick List Item'
+#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
+msgid "Transferred Qty (in Stock UOM)"
+msgstr ""
#: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:39
msgid "Transferred Quantity"
@@ -57109,7 +58134,7 @@ msgstr ""
msgid "Transit"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.js:611
+#: erpnext/stock/doctype/stock_entry/stock_entry.js:587
msgid "Transit Entry"
msgstr ""
@@ -57162,7 +58187,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:128
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:214
msgid "Travel Expenses"
-msgstr "差旅費"
+msgstr ""
#. Label of the tree_details (Section Break) field in DocType 'Location'
#. Label of the tree_details (Section Break) field in DocType 'Warehouse'
@@ -57174,7 +58199,7 @@ msgstr ""
#: erpnext/buying/report/purchase_analytics/purchase_analytics.js:8
#: erpnext/selling/report/sales_analytics/sales_analytics.js:8
msgid "Tree Type"
-msgstr "樹類型"
+msgstr ""
#. Label of a Link in the Quality Workspace
#: erpnext/quality_management/workspace/quality/quality.json
@@ -57190,7 +58215,7 @@ msgstr ""
#: erpnext/workspace_sidebar/invoicing.json
#: erpnext/workspace_sidebar/payments.json
msgid "Trial Balance"
-msgstr "試算表"
+msgstr ""
#. Name of a report
#: erpnext/accounts/report/trial_balance_simple/trial_balance_simple.json
@@ -57204,23 +58229,27 @@ msgstr ""
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
#: erpnext/workspace_sidebar/financial_reports.json
msgid "Trial Balance for Party"
-msgstr "試算表的派對"
+msgstr ""
+
+#: erpnext/accounts/report/trial_balance/trial_balance.py:585
+msgid "Trial Balance requires {0} to be synced to DuckDB"
+msgstr ""
#. Label of the trial_period_end (Date) field in DocType 'Subscription'
#: erpnext/accounts/doctype/subscription/subscription.json
msgid "Trial Period End Date"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:375
+#: erpnext/accounts/doctype/subscription/subscription.py:379
msgid "Trial Period End Date Cannot be before Trial Period Start Date"
-msgstr "試用期結束日期不能在試用期開始日期之前"
+msgstr ""
#. Label of the trial_period_start (Date) field in DocType 'Subscription'
#: erpnext/accounts/doctype/subscription/subscription.json
msgid "Trial Period Start Date"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:381
+#: erpnext/accounts/doctype/subscription/subscription.py:385
msgid "Trial Period Start date cannot be after Subscription Start Date"
msgstr ""
@@ -57306,7 +58335,7 @@ msgstr ""
#: erpnext/config/projects.py:61
msgid "Types of activities for Time Logs"
-msgstr "活動類型的時間記錄"
+msgstr ""
#. Label of a Link in the Financial Reports Workspace
#. Name of a report
@@ -57412,7 +58441,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/workstation/workstation.js:480
#: erpnext/manufacturing/report/bom_explorer/bom_explorer.py:70
#: erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py:110
-#: erpnext/public/js/stock_analytics.js:94 erpnext/public/js/utils.js:858
+#: erpnext/public/js/stock_analytics.js:94 erpnext/public/js/utils.js:861
#: erpnext/quality_management/doctype/quality_goal_objective/quality_goal_objective.json
#: erpnext/quality_management/doctype/quality_review_objective/quality_review_objective.json
#: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
@@ -57431,6 +58460,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item_prices.html:85
#: erpnext/stock/doctype/item_barcode/item_barcode.json
#: erpnext/stock/doctype/item_price/item_price.json
+#: erpnext/stock/doctype/material_request/material_request.js:517
#: erpnext/stock/doctype/material_request_item/material_request_item.json
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
@@ -57447,22 +58477,22 @@ msgstr ""
#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:94
#: erpnext/stock/report/stock_ageing/stock_ageing.py:223
#: erpnext/stock/report/stock_analytics/stock_analytics.py:59
-#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:134
+#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:135
#: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json
#: erpnext/templates/emails/reorder_item.html:11
#: erpnext/templates/includes/rfq/rfq_items.html:17
msgid "UOM"
-msgstr "UOM"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/uom_category/uom_category.json
msgid "UOM Category"
-msgstr "UOM類別"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
msgid "UOM Conversion Detail"
-msgstr "計量單位換算詳細"
+msgstr ""
#. Label of the uom_conversion_details_column (Column Break) field in DocType
#. 'Item'
@@ -57475,14 +58505,17 @@ msgstr ""
#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Sales Invoice Item'
#. Label of the conversion_factor (Float) field in DocType 'Purchase Order
+#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Request for
#. Quotation Item'
#. Label of the conversion_factor (Float) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Quotation Item'
#. Label of the conversion_factor (Float) field in DocType 'Sales Order Item'
#. Name of a DocType
#. Label of the conversion_factor (Float) field in DocType 'Delivery Note Item'
#. Label of the conversion_factor (Float) field in DocType 'Material Request
+#. Item'
#. Label of the conversion_factor (Float) field in DocType 'Pick List Item'
#. Label of a Link in the Stock Workspace
#. Label of a Workspace Sidebar Item
@@ -57501,15 +58534,15 @@ msgstr ""
#: erpnext/stock/workspace/stock/stock.json
#: erpnext/workspace_sidebar/stock.json
msgid "UOM Conversion Factor"
-msgstr "計量單位換算係數"
+msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1468
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1476
msgid "UOM Conversion factor ({0} -> {1}) not found for item: {2}"
msgstr ""
#: erpnext/buying/utils.py:43
msgid "UOM Conversion factor is required in row {0}"
-msgstr "計量單位換算係數是必需的行{0}"
+msgstr ""
#. Label of the conversion_factor_section (Section Break) field in DocType
#. 'Stock Settings'
@@ -57522,7 +58555,7 @@ msgstr ""
msgid "UOM Name"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:4332
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:4411
msgid "UOM conversion factor required for UOM: {0} in Item: {1}"
msgstr ""
@@ -57547,9 +58580,12 @@ msgstr ""
#. Label of the utm_analytics_section (Section Break) field in DocType 'POS
#. Invoice'
#. Label of the utm_analytics_section (Section Break) field in DocType 'Sales
+#. Invoice'
#. Label of the utm_analytics_section (Section Break) field in DocType
#. 'Quotation'
+#. Label of the utm_analytics_section (Section Break) field in DocType 'Sales
#. Order'
+#. Label of the utm_analytics_section (Section Break) field in DocType
#. 'Delivery Note'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -57574,13 +58610,17 @@ msgstr ""
msgid "UnReconcile Allocations"
msgstr ""
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:375
+msgid "Unable to Repost Accounting Ledger"
+msgstr ""
+
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:477
msgid "Unable to fetch DocType details. Please contact system administrator."
msgstr ""
#: erpnext/setup/utils.py:149
msgid "Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually"
-msgstr "無法為關鍵日期{2}查找{0}到{1}的匯率。請手動創建貨幣兌換記錄"
+msgstr ""
#: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.py:165
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:312
@@ -57589,9 +58629,9 @@ msgstr ""
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py:78
msgid "Unable to find score starting at {0}. You need to have standing scores covering 0 to 100"
-msgstr "無法從{0}開始獲得分數。你需要有0到100的常規分數"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1135
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1194
msgid "Unable to find the time slot in the next {0} days for the operation {1}. Please increase the 'Capacity Planning For (Days)' in the {2}."
msgstr ""
@@ -57613,7 +58653,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
#: erpnext/public/js/bank_reconciliation_tool/data_table_manager.js:74
msgid "Unallocated Amount"
-msgstr "未分配金額"
+msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:323
msgid "Unassigned Qty"
@@ -57625,14 +58665,16 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:101
msgid "Unblock Invoice"
-msgstr "取消屏蔽發票"
+msgstr ""
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:84
-#: erpnext/accounts/report/balance_sheet/balance_sheet.py:85
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:93
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:94
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:316
+#: erpnext/accounts/report/balance_sheet/balance_sheet.py:317
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:90
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:91
msgid "Unclosed Fiscal Years Profit / Loss (Credit)"
-msgstr "未關閉的財年利潤/損失(信用)"
+msgstr ""
#. Option for the 'Maintenance Status' (Select) field in DocType 'Serial No'
#. Option for the 'Warranty / AMC Status' (Select) field in DocType 'Warranty
@@ -57697,13 +58739,13 @@ msgstr ""
msgid "Unit Of Measure"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4121
+#: erpnext/controllers/accounts_controller.py:4162
msgid "Unit Price"
msgstr ""
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:68
msgid "Unit of Measure"
-msgstr "計量單位"
+msgstr ""
#. Label of a Link in the Home Workspace
#. Label of a Link in the Stock Workspace
@@ -57716,7 +58758,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:436
msgid "Unit of Measure {0} has been entered more than once in Conversion Factor Table"
-msgstr "計量單位{0}已經進入不止一次在轉換係數表"
+msgstr ""
#: erpnext/public/js/call_popup/call_popup.js:110
msgid "Unknown Caller"
@@ -57791,6 +58833,7 @@ msgstr ""
#. 'Purchase Invoice'
#. Label of the unrealized_profit_loss_account (Link) field in DocType 'Sales
#. Invoice'
+#. Label of the unrealized_profit_loss_account (Link) field in DocType
#. 'Company'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -57858,7 +58901,7 @@ msgstr ""
msgid "Unreconciled Transactions"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:946
+#: erpnext/manufacturing/doctype/work_order/work_order.js:950
#: erpnext/selling/doctype/sales_order/sales_order.js:122
#: erpnext/stock/doctype/pick_list/pick_list.js:166
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:193
@@ -57881,7 +58924,7 @@ msgstr ""
#: erpnext/public/js/stock_reservation.js:281
#: erpnext/selling/doctype/sales_order/sales_order.js:522
-#: erpnext/stock/doctype/pick_list/pick_list.js:321
+#: erpnext/stock/doctype/pick_list/pick_list.js:322
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:390
msgid "Unreserving Stock..."
msgstr ""
@@ -57901,7 +58944,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:178
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:305
msgid "Unsecured Loans"
-msgstr "無抵押貸款"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1723
msgid "Unset Matched Payment Request"
@@ -57914,7 +58957,7 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.py:128
msgid "Unsubscribe from this Email Digest"
-msgstr "從該電子郵件摘要退訂"
+msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:257
msgid "Unsupported Feature"
@@ -57927,7 +58970,7 @@ msgstr ""
#: erpnext/erpnext_integrations/utils.py:22
msgid "Unverified Webhook Data"
-msgstr "未經驗證的Webhook數據"
+msgstr ""
#: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js:17
msgid "Up"
@@ -57944,11 +58987,11 @@ msgstr ""
#: erpnext/accounts/doctype/account/account.js:62
msgid "Update Account Name / Number"
-msgstr "更新帳戶名稱/號碼"
+msgstr ""
#: erpnext/accounts/doctype/account/account.js:176
msgid "Update Account Number / Name"
-msgstr "更新帳號/名稱"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:32
msgid "Update Additional Information"
@@ -57959,9 +59002,14 @@ msgstr ""
#. Label of the update_auto_repeat_reference (Button) field in DocType
#. 'Purchase Invoice'
#. Label of the update_auto_repeat_reference (Button) field in DocType 'Sales
+#. Invoice'
+#. Label of the update_auto_repeat_reference (Button) field in DocType
#. 'Purchase Order'
+#. Label of the update_auto_repeat_reference (Button) field in DocType
#. 'Supplier Quotation'
+#. Label of the update_auto_repeat_reference (Button) field in DocType
#. 'Quotation'
+#. Label of the update_auto_repeat_reference (Button) field in DocType 'Sales
#. Order'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -57978,7 +59026,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.js:23
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "Update BOM Cost Automatically"
-msgstr "自動更新BOM成本"
+msgstr ""
#. Description of the 'Update BOM Cost Automatically' (Check) field in DocType
#. 'Manufacturing Settings'
@@ -57992,6 +59040,7 @@ msgstr ""
#. Label of the update_billed_amount_in_delivery_note (Check) field in DocType
#. 'POS Invoice'
+#. Label of the update_billed_amount_in_delivery_note (Check) field in DocType
#. 'Sales Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -58012,6 +59061,7 @@ msgstr ""
#. Label of the update_billed_amount_in_sales_order (Check) field in DocType
#. 'POS Invoice'
+#. Label of the update_billed_amount_in_sales_order (Check) field in DocType
#. 'Sales Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -58021,7 +59071,7 @@ msgstr ""
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.js:42
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.js:44
msgid "Update Clearance Date"
-msgstr "更新日期間隙"
+msgstr ""
#. Label of the update_consumed_material_cost_in_project (Check) field in
#. DocType 'Work Order'
@@ -58053,19 +59103,20 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:324
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:43
-#: erpnext/public/js/utils.js:964
+#: erpnext/public/js/utils.js:990
#: erpnext/selling/doctype/quotation/quotation.js:136
#: erpnext/selling/doctype/sales_order/sales_order.js:90
#: erpnext/selling/doctype/sales_order/sales_order.js:946
msgid "Update Items"
-msgstr "更新項目"
+msgstr ""
#. Label of the update_outstanding_for_self (Check) field in DocType 'Purchase
#. Invoice'
#. Label of the update_outstanding_for_self (Check) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/controllers/accounts_controller.py:217
+#: erpnext/controllers/accounts_controller.py:222
msgid "Update Outstanding for Self"
msgstr ""
@@ -58137,6 +59188,7 @@ msgstr ""
#. Description of the 'Actual End Time' (Datetime) field in DocType 'Work Order
#. Operation'
#. Description of the 'Actual Operation Time' (Float) field in DocType 'Work
+#. Order Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Updated via 'Time Log' (In Minutes)"
msgstr ""
@@ -58149,11 +59201,11 @@ msgstr ""
msgid "Updating Costing and Billing fields against this Project..."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1511
+#: erpnext/stock/doctype/item/item.py:1521
msgid "Updating Variants..."
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.js:1206
+#: erpnext/manufacturing/doctype/work_order/work_order.js:1217
msgid "Updating Work Order status"
msgstr ""
@@ -58194,8 +59246,8 @@ msgstr ""
msgid "Upon submission of the Sales Order, Work Order, or Production Plan, the system will automatically reserve the stock."
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:311
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:428
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:314
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:431
msgid "Upper Income"
msgstr ""
@@ -58297,11 +59349,15 @@ msgstr ""
#. Label of the use_serial_batch_fields (Check) field in DocType 'Purchase
#. Invoice Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Sales Invoice
+#. Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Asset
#. Capitalization Stock Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Delivery Note
+#. Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Packed Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Pick List
+#. Item'
+#. Label of the use_serial_batch_fields (Check) field in DocType 'Purchase
#. Receipt Item'
#. Label of the use_serial_batch_fields (Check) field in DocType 'Stock Entry
#. Detail'
@@ -58309,6 +59365,7 @@ msgstr ""
#. Reconciliation Item'
#. Label of the use_serial_batch_fields (Check) field in DocType
#. 'Subcontracting Receipt Item'
+#. Label of the use_serial_batch_fields (Check) 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
@@ -58331,13 +59388,14 @@ msgstr ""
#. Label of the use_transaction_date_exchange_rate (Check) field in DocType
#. 'Purchase Invoice'
+#. Label of the use_transaction_date_exchange_rate (Check) field in DocType
#. 'Buying Settings'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "Use Transaction Date Exchange Rate"
msgstr ""
-#: erpnext/projects/doctype/project/project.py:568
+#: erpnext/projects/doctype/project/project.py:600
msgid "Use a name that is different from previous project name"
msgstr ""
@@ -58376,6 +59434,12 @@ msgstr ""
msgid "Used for inter-company transactions"
msgstr ""
+#. Description of the 'Expenses Added To Stock Contra Account' (Link) field in
+#. DocType 'Item Default'
+#: erpnext/stock/doctype/item_default/item_default.json
+msgid "Used to balance the books when recording expenses added to stock"
+msgstr ""
+
#. Description of the 'Purchase Expense Contra Account' (Link) field in DocType
#. 'Item Default'
#: erpnext/stock/doctype/item_default/item_default.json
@@ -58404,7 +59468,7 @@ msgstr ""
#: erpnext/setup/doctype/sales_person/sales_person.py:113
msgid "User ID not set for Employee {0}"
-msgstr "用戶ID不為員工設置{0}"
+msgstr ""
#. Label of the user_remark (Small Text) field in DocType 'Bank Transaction
#. Rule Accounts'
@@ -58415,32 +59479,36 @@ msgstr "用戶ID不為員工設置{0}"
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
msgid "User Remark"
-msgstr "用戶備註"
+msgstr ""
#. Label of the user_resolution_time (Duration) field in DocType 'Issue'
#: erpnext/support/doctype/issue/issue.json
msgid "User Resolution Time"
msgstr ""
+#: erpnext/accounts/party.py:439
+msgid "User don't have permissions to select/read this account."
+msgstr ""
+
#: erpnext/accounts/doctype/pricing_rule/utils.py:596
msgid "User has not applied rule on the invoice {0}"
msgstr ""
-#: erpnext/crm/frappe_crm_api.py:176
+#: erpnext/crm/frappe_crm_api.py:183
msgid "User not allowed to synchronize data from Frappe CRM on ERPNext. Contact System Manager of ERPNext."
msgstr ""
#: erpnext/setup/doctype/employee/employee.py:298
msgid "User {0} does not exist"
-msgstr "用戶{0}不存在"
+msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:139
msgid "User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User."
-msgstr "用戶{0}沒有任何默認的POS配置文件。檢查此用戶的行{1}處的默認值。"
+msgstr ""
#: erpnext/setup/doctype/employee/employee.py:324
msgid "User {0} is already assigned to Employee {1}"
-msgstr "用戶{0}已經被分配給員工{1}"
+msgstr ""
#: erpnext/setup/doctype/employee/employee.py:362
msgid "User {0}: Removed Employee Self Service role as there is no mapped employee."
@@ -58483,6 +59551,12 @@ msgstr ""
msgid "Users with this role are allowed to over deliver/receive against orders above the allowance percentage"
msgstr ""
+#. Description of the 'Role Allowed to Bypass Over Billing Restriction' (Link)
+#. field in DocType 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Users with this role can still submit invoices for customers who have crossed their Overdue Limit."
+msgstr ""
+
#. Description of the 'Role to Notify on Depreciation Failure' (Link) field in
#. DocType 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
@@ -58496,7 +59570,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:129
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:215
msgid "Utility Expenses"
-msgstr "公用事業費用"
+msgstr ""
#. Label of the vat_accounts (Table) field in DocType 'South Africa VAT
#. Settings'
@@ -58595,7 +59669,7 @@ msgstr ""
msgid "Valid for Countries"
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:302
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:320
msgid "Valid from and valid upto fields are mandatory for the cumulative"
msgstr ""
@@ -58603,7 +59677,7 @@ msgstr ""
msgid "Valid till Date cannot be before Transaction Date"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:159
+#: erpnext/selling/doctype/quotation/quotation.py:162
msgid "Valid till date cannot be before transaction date"
msgstr ""
@@ -58672,9 +59746,9 @@ msgstr ""
msgid "Validity in Days"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:367
+#: erpnext/selling/doctype/quotation/quotation.py:382
msgid "Validity period of this quotation has ended."
-msgstr "此報價的有效期已經結束。"
+msgstr ""
#. Option for the 'Consider Tax or Charge for' (Select) field in DocType
#. 'Purchase Taxes and Charges'
@@ -58712,6 +59786,7 @@ msgstr ""
#. Label of the valuation_rate (Float) field in DocType 'Bin'
#. Label of the valuation_rate (Currency) field in DocType 'Item'
#. Label of the valuation_rate (Currency) field in DocType 'Purchase Receipt
+#. Item'
#. Label of the incoming_rate (Float) field in DocType 'Serial and Batch Entry'
#. Label of the valuation_rate (Currency) field in DocType 'Stock Closing
#. Balance'
@@ -58719,7 +59794,7 @@ msgstr ""
#. Label of the valuation_rate (Currency) field in DocType 'Stock
#. Reconciliation Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
-#: erpnext/accounts/report/gross_profit/gross_profit.py:354
+#: erpnext/accounts/report/gross_profit/gross_profit.py:356
#: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json
#: erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.json
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -58738,25 +59813,25 @@ msgstr ""
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:68
#: erpnext/stock/report/stock_balance/stock_balance.py:559
msgid "Valuation Rate"
-msgstr "估值率"
+msgstr ""
#: erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py:197
msgid "Valuation Rate (In / Out)"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2037
+#: erpnext/stock/stock_ledger.py:2099
msgid "Valuation Rate Missing"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2015
+#: erpnext/stock/stock_ledger.py:2077
msgid "Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}."
msgstr ""
#: erpnext/stock/doctype/item/item.py:297
msgid "Valuation Rate is mandatory if Opening Stock entered"
-msgstr "估價費用是強制性的,如果打開庫存進入"
+msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:792
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:794
msgid "Valuation Rate required for Item {0} at row {1}"
msgstr ""
@@ -58766,12 +59841,13 @@ msgstr ""
msgid "Valuation and Total"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:996
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:998
msgid "Valuation rate for customer provided items has been set to zero."
msgstr ""
#. Description of the 'Sales Incoming Rate' (Currency) field in DocType
#. 'Purchase Invoice Item'
+#. Description of the 'Sales Incoming Rate' (Currency) field in DocType
#. 'Purchase Receipt Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -58779,13 +59855,13 @@ msgid "Valuation rate for the item as per Sales Invoice (Only for Internal Trans
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2292
-#: erpnext/controllers/accounts_controller.py:3299
+#: erpnext/controllers/accounts_controller.py:3304
msgid "Valuation type charges can not be marked as Inclusive"
msgstr ""
#: erpnext/public/js/controllers/accounts.js:228
msgid "Valuation type charges can not marked as Inclusive"
-msgstr "估值類型罪名不能標記為包容性"
+msgstr ""
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.js:58
msgid "Value (G - D)"
@@ -58798,13 +59874,14 @@ msgstr ""
#. Label of the value_after_depreciation (Currency) field in DocType 'Asset'
#. Label of the value_after_depreciation (Currency) field in DocType 'Asset
#. Depreciation Schedule'
+#. Label of the value_after_depreciation (Currency) field in DocType 'Asset
#. Finance Book'
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:184
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
#: erpnext/assets/doctype/asset_finance_book/asset_finance_book.json
msgid "Value After Depreciation"
-msgstr "折舊後"
+msgstr ""
#. Label of the section_break_3 (Section Break) field in DocType 'Quality
#. Inspection Reading'
@@ -58825,9 +59902,9 @@ msgid "Value Or Qty"
msgstr ""
#: erpnext/setup/setup_wizard/data/sales_stage.txt:4
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:440
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:443
msgid "Value Proposition"
-msgstr "價值主張"
+msgstr ""
#. Label of the fieldtype (Select) field in DocType 'Financial Report Row'
#: erpnext/accounts/doctype/financial_report_row/financial_report_row.json
@@ -58841,7 +59918,7 @@ msgstr ""
#: erpnext/controllers/item_variant.py:125
msgid "Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4}"
-msgstr "為屬性{0}值必須的範圍內{1}到{2}中的增量{3}為項目{4}"
+msgstr ""
#. Label of the value_of_goods (Currency) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
@@ -58870,7 +59947,7 @@ msgstr ""
#: erpnext/public/js/stock_analytics.js:46
msgid "Value or Qty"
-msgstr "價值或數量"
+msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -58912,9 +59989,9 @@ msgstr ""
#: erpnext/stock/doctype/item/item_list.js:61
#: erpnext/stock/report/item_variant_details/item_variant_details.py:74
msgid "Variant"
-msgstr "變種"
+msgstr ""
-#: erpnext/stock/doctype/item/item.py:964
+#: erpnext/stock/doctype/item/item.py:974
msgid "Variant Attribute Error"
msgstr ""
@@ -58933,25 +60010,25 @@ msgstr ""
msgid "Variant Based On"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:992
+#: erpnext/stock/doctype/item/item.py:1002
msgid "Variant Based On cannot be changed"
msgstr ""
#: erpnext/stock/doctype/item/item.js:217
msgid "Variant Details Report"
-msgstr "變體詳細信息報告"
+msgstr ""
#. Name of a DocType
#: erpnext/stock/doctype/variant_field/variant_field.json
msgid "Variant Field"
-msgstr "變種場"
+msgstr ""
#: erpnext/manufacturing/doctype/bom/bom.js:390
#: erpnext/manufacturing/doctype/bom/bom.js:470
msgid "Variant Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:962
+#: erpnext/stock/doctype/item/item.py:972
msgid "Variant Items"
msgstr ""
@@ -58962,13 +60039,12 @@ msgstr ""
msgid "Variant Of"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:963
+#: erpnext/stock/doctype/item/item.js:969
msgid "Variant creation has been queued."
-msgstr "變體創建已經排隊。"
+msgstr ""
-#. Label of the variants_section (Tab Break) field in DocType 'Item'
-#: erpnext/stock/doctype/item/item.json
-msgid "Variants"
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:172
+msgid "Variant {0} and its template {1} cannot both be added to the same Pricing Rule"
msgstr ""
#. Name of a DocType
@@ -58976,7 +60052,7 @@ msgstr ""
#: erpnext/setup/doctype/vehicle/vehicle.json
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Vehicle"
-msgstr "車輛"
+msgstr ""
#. Label of the lr_date (Date) field in DocType 'Purchase Receipt'
#. Label of the lr_date (Date) field in DocType 'Subcontracting Receipt'
@@ -59005,7 +60081,7 @@ msgstr ""
#. Label of the vendor_invoice (Link) field in DocType 'Landed Cost Vendor
#. Invoice'
#: erpnext/stock/doctype/landed_cost_vendor_invoice/landed_cost_vendor_invoice.json
-#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:42
+#: erpnext/stock/report/landed_cost_report/landed_cost_report.py:52
msgid "Vendor Invoice"
msgstr ""
@@ -59022,16 +60098,31 @@ msgstr ""
msgid "Venture Capital"
msgstr ""
+#. Label of the verification_link_expiry_duration (Int) field in DocType
+#. 'Appointment Booking Settings'
+#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
+msgid "Verification Link Expiry Duration"
+msgstr ""
+
+#. Label of the verification_token (Data) field in DocType 'Appointment'
+#: erpnext/crm/doctype/appointment/appointment.json
+msgid "Verification Token"
+msgstr ""
+
#: erpnext/www/book_appointment/verify/index.html:15
msgid "Verification failed please check the link"
msgstr ""
+#: erpnext/www/book_appointment/verify/index.py:38
+msgid "Verification link has expired."
+msgstr ""
+
#. Label of the verified_by (Data) field in DocType 'Quality Inspection'
#: erpnext/stock/doctype/quality_inspection/quality_inspection.json
msgid "Verified By"
msgstr ""
-#: erpnext/templates/emails/confirm_appointment.html:6
+#: erpnext/templates/emails/confirm_appointment.html:7
#: erpnext/www/book_appointment/verify/index.html:4
msgid "Verify Email"
msgstr ""
@@ -59091,7 +60182,7 @@ msgstr ""
#: erpnext/public/js/setup_wizard.js:142
msgid "View Chart of Accounts"
-msgstr "查看會計科目表"
+msgstr ""
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.js:93
msgid "View Data Based on"
@@ -59107,12 +60198,12 @@ msgstr ""
#: erpnext/crm/doctype/campaign/campaign.js:15
msgid "View Leads"
-msgstr "查看訊息"
+msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:274
#: erpnext/stock/doctype/batch/batch.js:18
msgid "View Ledger"
-msgstr "查看總帳"
+msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.js:32
msgid "View Ledgers"
@@ -59124,7 +60215,7 @@ msgstr ""
#: erpnext/setup/doctype/email_digest/email_digest.js:7
msgid "View Now"
-msgstr "立即觀看"
+msgstr ""
#. Title of an Onboarding Step
#. Label of an action in the Onboarding Step 'View Project Summary'
@@ -59224,7 +60315,7 @@ msgstr ""
#: erpnext/templates/pages/help.html:46
msgid "Visit the forums"
-msgstr "訪問論壇"
+msgstr ""
#. Label of the visited (Check) field in DocType 'Delivery Stop'
#: erpnext/stock/doctype/delivery_stop/delivery_stop.json
@@ -59260,9 +60351,9 @@ msgstr ""
#: erpnext/stock/report/available_serial_no/available_serial_no.js:56
#: erpnext/stock/report/available_serial_no/available_serial_no.py:196
#: erpnext/stock/report/stock_ledger/stock_ledger.js:97
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:404
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:407
msgid "Voucher #"
-msgstr "憑證#"
+msgstr ""
#. Option for the 'Reconciliation Type' (Select) field in DocType 'Bank
#. Transaction Payments'
@@ -59275,8 +60366,11 @@ msgstr ""
#. Entry'
#. Label of the voucher_detail_no (Data) field in DocType 'Serial and Batch
#. Bundle'
+#. Label of the voucher_detail_no (Data) field in DocType 'Serial and Batch
+#. Entry'
#. Label of the voucher_detail_no (Data) field in DocType 'Stock Ledger Entry'
#. Label of the voucher_detail_no (Data) field in DocType 'Stock Reservation
+#. Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
@@ -59310,6 +60404,7 @@ msgstr ""
#. Label of the voucher_no (Dynamic Link) field in DocType 'Repost Accounting
#. Ledger Items'
#. Label of the voucher_no (Dynamic Link) field in DocType 'Repost Payment
+#. Ledger Items'
#. Label of the voucher_no (Dynamic Link) field in DocType 'Unreconcile
#. Payment'
#. Label of the voucher_no (Dynamic Link) field in DocType 'Repost Item
@@ -59319,6 +60414,7 @@ msgstr ""
#. Label of the voucher_no (Data) field in DocType 'Serial and Batch Entry'
#. Label of the voucher_no (Dynamic Link) field in DocType 'Stock Ledger Entry'
#. Label of the voucher_no (Dynamic Link) field in DocType 'Stock Reservation
+#. Entry'
#: erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/doctype/ledger_health/ledger_health.json
@@ -59327,7 +60423,7 @@ msgstr ""
#: erpnext/accounts/doctype/repost_accounting_ledger_items/repost_accounting_ledger_items.json
#: erpnext/accounts/doctype/repost_payment_ledger_items/repost_payment_ledger_items.json
#: erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1196
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1203
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:56
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:221
#: erpnext/accounts/report/general_ledger/general_ledger.js:49
@@ -59353,13 +60449,13 @@ msgstr ""
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:51
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:112
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:34
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:154
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:176
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:159
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:185
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:74
msgid "Voucher No"
-msgstr "憑證編號"
+msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1469
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1535
msgid "Voucher No is mandatory"
msgstr ""
@@ -59384,12 +60480,14 @@ msgstr ""
#. Items'
#. Label of the voucher_type (Link) field in DocType 'Repost Payment Ledger'
#. Label of the voucher_type (Link) field in DocType 'Repost Payment Ledger
+#. Items'
#. Label of the voucher_type (Link) field in DocType 'Unreconcile Payment'
#. Label of the voucher_type (Link) field in DocType 'Repost Item Valuation'
#. Label of the voucher_type (Link) field in DocType 'Serial and Batch Bundle'
#. Label of the voucher_type (Data) field in DocType 'Serial and Batch Entry'
#. Label of the voucher_type (Link) field in DocType 'Stock Ledger Entry'
#. Label of the voucher_type (Select) field in DocType 'Stock Reservation
+#. Entry'
#: banking/src/components/features/ActionLog/ActionLogDialogBody.tsx:390
#: erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
@@ -59399,7 +60497,7 @@ msgstr ""
#: erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.json
#: erpnext/accounts/doctype/repost_payment_ledger_items/repost_payment_ledger_items.json
#: erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.json
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1194
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1201
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:212
#: erpnext/accounts/report/general_ledger/general_ledger.py:760
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:31
@@ -59425,12 +60523,12 @@ msgstr ""
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:107
#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:486
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:28
-#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:152
-#: erpnext/stock/report/stock_ledger/stock_ledger.py:402
-#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:170
+#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:157
+#: erpnext/stock/report/stock_ledger/stock_ledger.py:405
+#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:179
#: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:68
msgid "Voucher Type"
-msgstr "憑證類型"
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:208
msgid "Voucher {0} is over-allocated by {1}"
@@ -59459,8 +60557,11 @@ msgstr ""
#. Label of the wip_composite_asset (Link) field in DocType 'Purchase Invoice
#. Item'
#. Label of the wip_composite_asset (Link) field in DocType 'Purchase Order
+#. Item'
#. Label of the wip_composite_asset (Link) field in DocType 'Material Request
+#. Item'
#. Label of the wip_composite_asset (Link) field in DocType 'Purchase Receipt
+#. Item'
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/stock/doctype/material_request_item/material_request_item.json
@@ -59479,16 +60580,16 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.json
#: erpnext/manufacturing/doctype/work_order/work_order_calendar.js:44
msgid "WIP Warehouse"
-msgstr "WIP倉庫"
+msgstr ""
#. Label of a number card in the Manufacturing Workspace
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
msgid "WIP Work Orders"
msgstr ""
-#: erpnext/manufacturing/doctype/workstation/test_workstation.py:137
+#: erpnext/manufacturing/doctype/workstation/test_workstation.py:148
#: erpnext/patches/v16_0/make_workstation_operating_components.py:50
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:317
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:320
msgid "Wages"
msgstr ""
@@ -59568,12 +60669,16 @@ msgstr ""
#. Label of the warehouse_and_reference (Section Break) field in DocType
#. 'Request for Quotation Item'
+#. Label of the warehouse_and_reference (Section Break) field in DocType
#. 'Supplier Quotation Item'
#. Label of the reference (Section Break) field in DocType 'Quotation Item'
#. Label of the warehouse_and_reference (Section Break) field in DocType 'Sales
#. Order Item'
+#. Label of the warehouse_and_reference (Section Break) field in DocType
#. 'Delivery Note Item'
+#. Label of the warehouse_and_reference (Section Break) field in DocType
#. 'Purchase Receipt Item'
+#. Label of the warehouse_and_reference (Section Break) field in DocType
#. 'Subcontracting Receipt Item'
#: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
@@ -59587,37 +60692,37 @@ msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:100
msgid "Warehouse can not be deleted as stock ledger entry exists for this warehouse."
-msgstr "這個倉庫不能被刪除,因為庫存分錄帳尚存在。"
+msgstr ""
#: erpnext/stock/doctype/serial_no/serial_no.py:85
msgid "Warehouse cannot be changed for Serial No."
-msgstr "倉庫不能改變序列號"
+msgstr ""
#: erpnext/controllers/sales_and_purchase_return.py:160
msgid "Warehouse is mandatory"
-msgstr "倉庫是強制性的"
+msgstr ""
#: erpnext/manufacturing/report/bom_stock_analysis/bom_stock_analysis.py:286
msgid "Warehouse is required to get producible FG Items"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:233
+#: erpnext/stock/doctype/warehouse/warehouse.py:241
msgid "Warehouse not found against the account {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1263
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1269
#: erpnext/stock/doctype/delivery_note/delivery_note.py:415
msgid "Warehouse required for stock Item {0}"
-msgstr "倉庫需要現貨產品{0}"
+msgstr ""
#. Name of a report
#: erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.json
msgid "Warehouse wise Item Balance Age and Value"
-msgstr "倉庫明智的項目平衡年齡和價值"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:94
msgid "Warehouse {0} can not be deleted as quantity exists for Item {1}"
-msgstr "倉庫{0} 不能被刪除因為項目{1}還有庫存"
+msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:67
msgid "Warehouse {0} does not belong to Company {1}."
@@ -59625,44 +60730,45 @@ msgstr ""
#: erpnext/stock/utils.py:419
msgid "Warehouse {0} does not belong to company {1}"
-msgstr "倉庫{0}不屬於公司{1}"
+msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:280
+#: erpnext/stock/doctype/warehouse/warehouse.py:288
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:99
msgid "Warehouse {0} does not exist"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:317
+#: erpnext/manufacturing/doctype/work_order/work_order.py:321
msgid "Warehouse {0} is not allowed for Sales Order {1}, it should be {2}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:856
+#: erpnext/controllers/stock_controller.py:875
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/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:20
+#: erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py:26
msgid "Warehouse: {0} does not belong to {1}"
msgstr ""
#. Label of the warehouses (Table MultiSelect) field in DocType 'Production
#. Plan'
-#: erpnext/manufacturing/doctype/production_plan/production_plan.js:526
+#: erpnext/manufacturing/doctype/production_plan/production_plan.js:524
#: erpnext/manufacturing/doctype/production_plan/production_plan.json
#: erpnext/stock/report/stock_balance/stock_balance.js:76
#: erpnext/stock/report/stock_ledger/stock_ledger.js:30
msgid "Warehouses"
-msgstr "倉庫"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:147
msgid "Warehouses with child nodes cannot be converted to ledger"
-msgstr "與子節點倉庫不能轉換為分類賬"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:157
msgid "Warehouses with existing transaction can not be converted to group."
-msgstr "與現有的交易倉庫不能轉換為組。"
+msgstr ""
#: erpnext/stock/doctype/warehouse/warehouse.py:149
msgid "Warehouses with existing transaction can not be converted to ledger."
-msgstr "與現有的交易倉庫不能轉換到總帳。"
+msgstr ""
#. Option for the 'Action if same rate is not maintained throughout internal
#. transaction' (Select) field in DocType 'Accounts Settings'
@@ -59671,11 +60777,15 @@ msgstr "與現有的交易倉庫不能轉換到總帳。"
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on MR'
#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Annual Budget Exceeded on PO' (Select) field in
+#. DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on PO'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Annual Budget Exceeded on Actual' (Select) field
#. in DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on Actual'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Anual Budget Exceeded on Cumulative Expense'
+#. (Select) field in DocType 'Budget'
#. Option for the 'Action if Accumulative Monthly Budget Exceeded on Cumulative
#. Expense' (Select) field in DocType 'Budget'
#. Option for the 'Action if same rate is not maintained' (Select) field in
@@ -59711,6 +60821,7 @@ msgstr ""
#. Label of the warn_rfqs (Check) field in DocType 'Supplier Scorecard Scoring
#. Standing'
#. Label of the warn_rfqs (Check) field in DocType 'Supplier Scorecard
+#. Standing'
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json
#: erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
@@ -59743,7 +60854,7 @@ msgstr ""
msgid "Warning - Row {0}: Billing Hours are more than Actual Hours"
msgstr ""
-#: erpnext/stock/stock_ledger.py:834
+#: erpnext/stock/stock_ledger.py:876
msgid "Warning on Negative Stock"
msgstr ""
@@ -59755,21 +60866,21 @@ msgstr ""
msgid "Warning: Account changed for warehouse"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1330
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1341
msgid "Warning: Another {0} # {1} exists against stock entry {2}"
-msgstr "警告:另一個{0}#{1}存在對庫存分錄{2}"
+msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.js:534
+#: erpnext/stock/doctype/material_request/material_request.js:705
msgid "Warning: Material Requested Qty is less than Minimum Order Qty"
-msgstr "警告:物料需求的數量低於最少訂購量"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1571
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1630
msgid "Warning: Quantity exceeds maximum producible quantity based on quantity of raw materials received through the Subcontracting Inward Order {0}."
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:349
msgid "Warning: Sales Order {0} already exists against Customer's Purchase Order {1}"
-msgstr "警告:銷售訂單{0}已經存在針對客戶的採購訂單{1}"
+msgstr ""
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.js:75
msgid "Warning: This action cannot be undone!"
@@ -59782,7 +60893,7 @@ msgstr ""
#. Label of a Card Break in the Support Workspace
#: erpnext/support/workspace/support/support.json
msgid "Warranty"
-msgstr "保證"
+msgstr ""
#. Label of the warranty_amc_details (Section Break) field in DocType 'Serial
#. No'
@@ -59805,7 +60916,7 @@ msgstr ""
#: erpnext/support/workspace/support/support.json
#: erpnext/workspace_sidebar/crm.json erpnext/workspace_sidebar/support.json
msgid "Warranty Claim"
-msgstr "保修索賠"
+msgstr ""
#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:546
msgid "Warranty Expiry (Serial)"
@@ -59857,10 +60968,14 @@ msgstr ""
msgid "Wavelength In Megametres"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:212
+#: erpnext/controllers/accounts_controller.py:217
msgid "We can see {0} is made against {1}. If you want {1}'s outstanding to be updated, uncheck the '{2}' checkbox."
msgstr ""
+#: erpnext/templates/emails/appointment_confirmed.html:3
+msgid "We look forward to meeting you"
+msgstr ""
+
#: banking/src/pages/BankStatementImporter.tsx:169
msgid "We support uploading CSV, XLSX, XLS and PDF files. Please make sure the file contains the correct columns."
msgstr ""
@@ -59910,7 +61025,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/setup/doctype/website_item_group/website_item_group.json
msgid "Website Item Group"
-msgstr "網站項目群組"
+msgstr ""
#. Label of the sb_web_spec (Section Break) field in DocType 'BOM'
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -59957,11 +61072,13 @@ msgstr ""
#. Label of the weight_per_unit (Float) field in DocType 'Sales Invoice Item'
#. Label of the weight_per_unit (Float) field in DocType 'Purchase Order Item'
#. Label of the weight_per_unit (Float) field in DocType 'Supplier Quotation
+#. Item'
#. Label of the weight_per_unit (Float) field in DocType 'Quotation Item'
#. Label of the weight_per_unit (Float) field in DocType 'Sales Order Item'
#. Label of the weight_per_unit (Float) field in DocType 'Delivery Note Item'
#. Label of the weight_per_unit (Float) field in DocType 'Item'
#. Label of the weight_per_unit (Float) field in DocType 'Purchase Receipt
+#. 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
@@ -60008,7 +61125,7 @@ msgstr ""
#: erpnext/templates/pages/help.html:12
msgid "What do you need help with?"
-msgstr "你有什麼需要幫助的?"
+msgstr ""
#: erpnext/public/js/setup_wizard.js:69
msgid "What do you use today?"
@@ -60058,7 +61175,7 @@ msgstr ""
msgid "When checked, the system will use the posting datetime of the document for naming the document instead of the creation datetime of the document."
msgstr ""
-#: erpnext/stock/doctype/item/item.js:1297
+#: erpnext/stock/doctype/item/item.js:1303
msgid "When creating an Item, entering a value for this field will automatically create an Item Price at the backend."
msgstr ""
@@ -60073,7 +61190,7 @@ msgstr ""
msgid "When enabled, transactions with this supplier will be blocked based on the Hold Type below"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:397
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:417
msgid "When there are multiple finished goods ({0}) in a Repack stock entry, the basic rate for all finished goods must be set manually. To set rate manually, enable the checkbox 'Set Basic Rate Manually' in the respective finished good row."
msgstr ""
@@ -60083,11 +61200,11 @@ msgstr ""
msgid "When you pay for something upfront (like annual insurance), the cost is held here and recognized gradually over time"
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:380
+#: erpnext/accounts/doctype/account/account.py:411
msgid "While creating account for Child Company {0}, parent account {1} found as a ledger account."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:370
+#: erpnext/accounts/doctype/account/account.py:401
msgid "While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA"
msgstr ""
@@ -60097,6 +61214,10 @@ msgstr ""
msgid "While making Purchase Invoice from Purchase Order, use Exchange Rate on Invoice's transaction date rather than inheriting it from Purchase Order. Only applies for Purchase Invoice."
msgstr ""
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:289
+msgid "White"
+msgstr ""
+
#: erpnext/public/js/setup_wizard.js:31
msgid "Who are you setting this up for?"
msgstr ""
@@ -60135,9 +61256,9 @@ msgstr ""
msgid "Will be auto-populated"
msgstr ""
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:259
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:262
msgid "Wire Transfer"
-msgstr "電匯"
+msgstr ""
#. Label of the with_operations (Check) field in DocType 'BOM'
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -60172,7 +61293,7 @@ msgstr ""
msgid "Withholding Date"
msgstr ""
-#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:278
+#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:276
msgid "Withholding Document"
msgstr ""
@@ -60232,10 +61353,10 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset_list.js:12
#: erpnext/manufacturing/doctype/job_card/job_card.json
#: erpnext/manufacturing/doctype/job_card_operation/job_card_operation.json
-#: erpnext/setup/doctype/company/company.py:386
+#: erpnext/setup/doctype/company/company.py:388
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
msgid "Work In Progress"
-msgstr "在製品"
+msgstr ""
#. Option for the 'Transfer Material Against' (Select) field in DocType 'BOM'
#. Label of the work_order (Link) field in DocType 'Job Card'
@@ -60267,9 +61388,9 @@ msgstr "在製品"
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:104
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
#: erpnext/selling/doctype/sales_order/sales_order.js:1056
-#: erpnext/stock/doctype/material_request/material_request.js:216
+#: erpnext/stock/doctype/material_request/material_request.js:219
#: erpnext/stock/doctype/material_request/material_request.json
-#: erpnext/stock/doctype/material_request/material_request.py:871
+#: erpnext/stock/doctype/material_request/material_request.py:1069
#: erpnext/stock/doctype/pick_list/pick_list.json
#: erpnext/stock/doctype/serial_no/serial_no.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -60279,7 +61400,7 @@ msgstr "在製品"
#: erpnext/templates/pages/material_request_info.html:45
#: erpnext/workspace_sidebar/manufacturing.json
msgid "Work Order"
-msgstr "工作指示"
+msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:144
msgid "Work Order / Subcontract PO"
@@ -60306,16 +61427,16 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
msgid "Work Order Item"
-msgstr "工作訂單項目"
+msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1015
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1036
msgid "Work Order Mismatch"
msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Work Order Operation"
-msgstr "工作訂單操作"
+msgstr ""
#. Label of the work_order_qty (Float) field in DocType 'Sales Order Item'
#. Label of the work_order_qty (Float) field in DocType 'Subcontracting Inward
@@ -60332,7 +61453,7 @@ msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.json
msgid "Work Order Stock Report"
-msgstr "工單庫存報表"
+msgstr ""
#. Name of a report
#. Label of a Link in the Manufacturing Workspace
@@ -60349,48 +61470,48 @@ msgstr ""
msgid "Work Order Summary Report"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:877
+#: erpnext/stock/doctype/material_request/material_request.py:1075
msgid "Work Order cannot be created for following reason:
{0}"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:1515
+#: erpnext/manufacturing/doctype/work_order/work_order.py:1574
msgid "Work Order cannot be raised against a Item Template"
-msgstr "工作訂單不能針對項目模板產生"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2709
-#: erpnext/manufacturing/doctype/work_order/work_order.py:2789
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2779
+#: erpnext/manufacturing/doctype/work_order/work_order.py:2859
msgid "Work Order has been {0}"
-msgstr "工單已{0}"
+msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1259
msgid "Work Order not created"
-msgstr "工作訂單未創建"
+msgstr ""
#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1392
msgid "Work Order {0} created"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:2696
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:2772
msgid "Work Order {0} has no produced qty"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:1139
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:1160
msgid "Work Order {0}: Job Card not found for the operation {1}"
msgstr ""
#: erpnext/manufacturing/report/job_card_summary/job_card_summary.js:56
-#: erpnext/stock/doctype/material_request/material_request.py:865
+#: erpnext/stock/doctype/material_request/material_request.py:1063
msgid "Work Orders"
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1352
msgid "Work Orders Created: {0}"
-msgstr "創建的工單:{0}"
+msgstr ""
#. Name of a report
#: erpnext/manufacturing/report/work_orders_in_progress/work_orders_in_progress.json
msgid "Work Orders in Progress"
-msgstr "工作訂單正在進行中"
+msgstr ""
#. Option for the 'Status' (Select) field in DocType 'Work Order Operation'
#. Label of the work_in_progress (Column Break) field in DocType 'Email Digest'
@@ -60404,9 +61525,9 @@ msgstr ""
msgid "Work-in-Progress Warehouse"
msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:863
+#: erpnext/manufacturing/doctype/work_order/work_order.py:922
msgid "Work-in-Progress Warehouse is required before Submit"
-msgstr "提交之前,需要填入在製品倉庫"
+msgstr ""
#. Label of the workday (Select) field in DocType 'Service Day'
#: erpnext/support/doctype/service_day/service_day.json
@@ -60437,7 +61558,7 @@ msgstr ""
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Working Hours"
-msgstr "工作時間"
+msgstr ""
#. Label of the workstation (Link) field in DocType 'BOM Operation'
#. Label of the workstation (Link) field in DocType 'BOM Website Operation'
@@ -60524,11 +61645,11 @@ msgstr ""
#. Name of a DocType
#: erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.json
msgid "Workstation Working Hour"
-msgstr "工作站工作時間"
+msgstr ""
-#: erpnext/manufacturing/doctype/workstation/workstation.py:463
+#: erpnext/manufacturing/doctype/workstation/workstation.py:464
msgid "Workstation is closed on the following dates as per Holiday List: {0}"
-msgstr "工作站在以下日期關閉按假日列表:{0}"
+msgstr ""
#. Label of the workstations_tab (Tab Break) field in DocType 'Plant Floor'
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.json
@@ -60549,9 +61670,9 @@ msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/setup/doctype/company/company.py:668
+#: erpnext/setup/doctype/company/company.py:670
msgid "Write Off"
-msgstr "註銷項款"
+msgstr ""
#. Label of the write_off_account (Link) field in DocType 'POS Invoice'
#. Label of the write_off_account (Link) field in DocType 'POS Profile'
@@ -60581,6 +61702,7 @@ msgstr ""
#. Label of the base_write_off_amount (Currency) field in DocType 'Purchase
#. Invoice'
#. Label of the base_write_off_amount (Currency) field in DocType 'Sales
+#. Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -60625,6 +61747,7 @@ msgstr ""
#. Label of the write_off_outstanding_amount_automatically (Check) field in
#. DocType 'POS Invoice'
+#. Label of the write_off_outstanding_amount_automatically (Check) field in
#. DocType 'Sales Invoice'
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -60640,6 +61763,7 @@ msgstr ""
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset'
#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Depreciation Schedule'
+#. Option for the 'Depreciation Method' (Select) field in DocType 'Asset
#. Finance Book'
#: erpnext/assets/doctype/asset/asset.json
#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -60651,9 +61775,9 @@ msgstr ""
msgid "Wrong Company"
msgstr ""
-#: erpnext/setup/doctype/company/company.js:234
+#: erpnext/setup/doctype/company/company.js:245
msgid "Wrong Password"
-msgstr "密碼錯誤"
+msgstr ""
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:55
msgid "Wrong Template"
@@ -60693,29 +61817,33 @@ msgstr ""
#: erpnext/accounts/doctype/fiscal_year/fiscal_year.py:91
msgid "Year start date or end date is overlapping with {0}. To avoid please set company"
-msgstr "新年的開始日期或結束日期與{0}重疊。為了避免請將公司"
+msgstr ""
#: erpnext/edi/doctype/code_list/code_list_import.js:30
msgid "You are importing data for the code list:"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3918
+#: erpnext/controllers/accounts_controller.py:3959
msgid "You are not allowed to update as per the conditions set in {} Workflow."
msgstr ""
#: erpnext/accounts/general_ledger.py:820
msgid "You are not authorized to add or update entries before {0}"
-msgstr "你無權添加或更新{0}之前的條目"
+msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:338
msgid "You are not authorized to make/edit Stock Transactions for Item {0} under warehouse {1} before this time."
msgstr ""
-#: erpnext/accounts/doctype/account/account.py:312
+#: erpnext/accounts/doctype/account/account.py:343
msgid "You are not authorized to set Frozen value"
-msgstr "您無權設定值凍結"
+msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:516
+#: erpnext/projects/doctype/task/task.py:317
+msgid "You are not permitted to create a Task for Project {0}"
+msgstr ""
+
+#: erpnext/stock/doctype/pick_list/pick_list.py:546
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 ""
@@ -60727,30 +61855,30 @@ msgstr ""
msgid "You can also add credit or debit values to pre-fill - these support both static values (like 200) or formulas (like transaction_amount * 0.25)."
msgstr ""
-#: erpnext/templates/emails/confirm_appointment.html:10
+#: erpnext/templates/emails/confirm_appointment.html:11
msgid "You can also copy-paste this link in your browser"
-msgstr "您也可以複製粘貼此鏈接到瀏覽器"
+msgstr ""
#: erpnext/assets/doctype/asset_category/asset_category.py:113
msgid "You can also set default CWIP account in Company {}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1064
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1070
msgid "You can change the parent account to a Balance Sheet account or select a different account."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:717
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:718
msgid "You can not enter current voucher in 'Against Journal Entry' column"
-msgstr "在您不能輸入電流券“對日記帳分錄”專欄"
+msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:206
+#: erpnext/accounts/doctype/subscription/subscription.py:207
msgid "You can only have Plans with the same billing cycle in a Subscription"
-msgstr "您只能在訂閱中擁有相同結算週期的計劃"
+msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:423
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1042
msgid "You can only redeem max {0} points in this order."
-msgstr "您只能按此順序兌換最多{0}個積分。"
+msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:182
msgid "You can only select one mode of payment as default"
@@ -60772,15 +61900,15 @@ msgstr ""
msgid "You can set up the rule to split the transaction across multiple accounts."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:233
+#: erpnext/controllers/accounts_controller.py:238
msgid "You can use {0} to reconcile against {1} later."
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1378
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1391
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:229
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:230
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 ""
@@ -60788,7 +61916,7 @@ msgstr ""
msgid "You can't redeem Loyalty Points having more value than the Total Amount."
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:776
+#: erpnext/manufacturing/doctype/bom/bom.js:780
msgid "You cannot change the rate if BOM is mentioned against any Item."
msgstr ""
@@ -60804,23 +61932,23 @@ msgstr ""
msgid "You cannot create/amend any accounting entries till this date."
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:950
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:961
msgid "You cannot credit and debit same account at the same time"
-msgstr "你無法將貸方與借方在同一時間記在同一科目"
+msgstr ""
#: erpnext/projects/doctype/project_type/project_type.py:25
msgid "You cannot delete Project Type 'External'"
-msgstr "您不能刪除項目類型“外部”"
+msgstr ""
#: erpnext/setup/doctype/department/department.js:19
msgid "You cannot edit root node."
-msgstr "您不能編輯根節點。"
+msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:197
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:204
msgid "You cannot enable both the settings '{0}' and '{1}'."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:167
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:168
msgid "You cannot outward following {0} as either they are Delivered, Inactive or located in a different warehouse."
msgstr ""
@@ -60832,9 +61960,9 @@ msgstr ""
msgid "You cannot repost item valuation before {}"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:757
+#: erpnext/accounts/doctype/subscription/subscription.py:766
msgid "You cannot restart a Subscription that is not cancelled."
-msgstr "您無法重新啟動未取消的訂閱。"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:281
msgid "You cannot submit empty order."
@@ -60844,10 +61972,14 @@ msgstr ""
msgid "You cannot submit the order without payment."
msgstr ""
-#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:107
+#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:119
msgid "You cannot {0} this document because another Period Closing Entry {1} exists after {2}"
msgstr ""
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:168
+msgid "You do not have enough permission to access {0}: {1}"
+msgstr ""
+
#: erpnext/accounts/doctype/bank_statement_import_log/bank_statement_import_log.py:82
msgid "You do not have permission to import and submit bank transactions"
msgstr ""
@@ -60857,47 +61989,47 @@ msgstr ""
msgid "You do not have permission to import bank transactions"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3896
+#: erpnext/controllers/accounts_controller.py:3937
msgid "You do not have permissions to {} items in a {}."
msgstr ""
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.py:186
msgid "You don't have enough Loyalty Points to redeem"
-msgstr "您沒有獲得忠誠度積分兌換"
+msgstr ""
#: erpnext/selling/page/point_of_sale/pos_payment.js:588
msgid "You don't have enough points to redeem."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4464
+#: erpnext/controllers/accounts_controller.py:4505
msgid "You don't have permission to create a Company Address. Please contact your System Manager."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4444
+#: erpnext/controllers/accounts_controller.py:4485
msgid "You don't have permission to update Company details. Please contact your System Manager."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:590
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:591
msgid "You don't have permission to update Received Qty DocField for item {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:4438
+#: erpnext/controllers/accounts_controller.py:4479
msgid "You don't have permission to update this document. Please contact your System Manager."
msgstr ""
-#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:303
+#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:313
msgid "You had {} errors while creating opening invoices. Check {} for more details"
msgstr ""
-#: erpnext/public/js/utils.js:1064
+#: erpnext/public/js/utils.js:1090
msgid "You have already selected items from {0} {1}"
-msgstr "您已經選擇從項目{0} {1}"
+msgstr ""
-#: erpnext/projects/doctype/project/project.py:363
+#: erpnext/projects/doctype/project/project.py:367
msgid "You have been invited to collaborate on the project {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_settings/stock_settings.py:255
+#: erpnext/stock/doctype/stock_settings/stock_settings.py:260
msgid "You have enabled {0} and {1} in {2}. This can lead to prices from the default price list being inserted in the transaction price list."
msgstr ""
@@ -60917,7 +62049,7 @@ msgstr ""
msgid "You have not performed any reconciliations in this session yet."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1187
+#: erpnext/stock/doctype/item/item.py:1197
msgid "You have to enable auto re-order in Stock Settings to maintain re-order levels."
msgstr ""
@@ -60925,6 +62057,10 @@ msgstr ""
msgid "You have unsaved changes. Do you want to save the invoice?"
msgstr ""
+#: erpnext/templates/pages/projects.html:132
+msgid "You haven't created a {0} yet"
+msgstr ""
+
#: erpnext/selling/page/point_of_sale/pos_controller.js:734
msgid "You must select a customer before adding an item."
msgstr ""
@@ -60933,7 +62069,7 @@ msgstr ""
msgid "You need to cancel POS Closing Entry {} to be able to cancel this document."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3250
+#: erpnext/controllers/accounts_controller.py:3255
msgid "You selected the account group {1} as {2} Account in row {0}. Please select a single account."
msgstr ""
@@ -60951,14 +62087,18 @@ msgstr ""
msgid "Your Name (required)"
msgstr ""
+#: erpnext/templates/emails/appointment_confirmed.html:2
+msgid "Your email has been verified and your appointment has been confirmed for {0}"
+msgstr ""
+
#: erpnext/www/book_appointment/verify/index.html:11
msgid "Your email has been verified and your appointment has been scheduled"
msgstr ""
#: erpnext/patches/v11_0/add_default_dispatch_notification_template.py:22
-#: erpnext/setup/setup_wizard/operations/install_fixtures.py:342
+#: erpnext/setup/setup_wizard/operations/install_fixtures.py:345
msgid "Your order is out for delivery!"
-msgstr "您的訂單已發貨!"
+msgstr ""
#: erpnext/templates/pages/help.html:52
msgid "Your tickets"
@@ -60977,7 +62117,7 @@ msgstr ""
#: erpnext/public/js/utils/contact_address_quick_entry.js:88
msgid "ZIP Code"
-msgstr "郵政編碼"
+msgstr ""
#. Label of the zero_balance (Check) field in DocType 'Exchange Rate
#. Revaluation Account'
@@ -60989,7 +62129,7 @@ msgstr ""
msgid "Zero Rated"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:726
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:747
msgid "Zero quantity"
msgstr ""
@@ -61007,15 +62147,15 @@ msgstr ""
msgid "Zip File"
msgstr ""
-#: erpnext/stock/reorder_item.py:374
+#: erpnext/stock/reorder_item.py:376
msgid "[Important] [ERPNext] Auto Reorder Errors"
msgstr ""
-#: erpnext/controllers/status_updater.py:305
+#: erpnext/controllers/status_updater.py:306
msgid "`Allow Negative rates for Items`"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2029
+#: erpnext/stock/stock_ledger.py:2091
msgid "after"
msgstr ""
@@ -61031,11 +62171,11 @@ msgstr ""
msgid "as Title"
msgstr ""
-#: erpnext/manufacturing/doctype/bom/bom.js:1026
+#: erpnext/manufacturing/doctype/bom/bom.js:1030
msgid "as a percentage of finished item quantity"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1639
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1705
msgid "as of {0}"
msgstr ""
@@ -61051,12 +62191,12 @@ msgstr ""
msgid "by {}"
msgstr ""
-#: erpnext/public/js/utils/sales_common.js:336
+#: erpnext/public/js/utils/sales_common.js:334
msgid "cannot be greater than 100"
msgstr ""
-#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:341
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1152
+#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:351
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1158
msgid "dated {0}"
msgstr ""
@@ -61200,13 +62340,14 @@ msgstr ""
#. Description of the 'Billing Rate' (Currency) field in DocType 'Activity
#. Cost'
#. Description of the 'Costing Rate' (Currency) field in DocType 'Activity
+#. Cost'
#: erpnext/manufacturing/doctype/workstation/workstation.json
#: erpnext/manufacturing/doctype/workstation_type/workstation_type.json
#: erpnext/projects/doctype/activity_cost/activity_cost.json
msgid "per hour"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2030
+#: erpnext/stock/stock_ledger.py:2092
msgid "performing either one below:"
msgstr ""
@@ -61239,7 +62380,7 @@ msgstr ""
msgid "reconciled"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1523
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1529
msgid "returned"
msgstr ""
@@ -61274,16 +62415,16 @@ msgstr ""
msgid "sandbox"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1523
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1529
msgid "sold"
msgstr ""
-#: erpnext/accounts/doctype/subscription/subscription.py:733
+#: erpnext/accounts/doctype/subscription/subscription.py:742
msgid "subscription is already cancelled."
msgstr ""
-#: erpnext/controllers/status_updater.py:503
-#: erpnext/controllers/status_updater.py:522
+#: erpnext/controllers/status_updater.py:505
+#: erpnext/controllers/status_updater.py:524
msgid "target_ref_field"
msgstr ""
@@ -61301,7 +62442,7 @@ msgstr ""
msgid "to"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3246
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3244
msgid "to unallocate the amount of this Return Invoice before cancelling it."
msgstr ""
@@ -61328,7 +62469,7 @@ msgstr ""
msgid "unique e.g. SAVE20 To be used to get discount"
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:620
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:621
msgid "updated delivered quantity for item {0} to {1}"
msgstr ""
@@ -61350,23 +62491,23 @@ msgstr ""
msgid "you must select Capital Work in Progress Account in accounts table"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1313
+#: erpnext/controllers/accounts_controller.py:1318
msgid "{0} '{1}' is disabled"
msgstr ""
#: erpnext/accounts/utils.py:199
msgid "{0} '{1}' not in Fiscal Year {2}"
-msgstr "{0}“ {1}”不在財政年度{2}"
+msgstr ""
-#: erpnext/manufacturing/doctype/work_order/work_order.py:749
+#: erpnext/manufacturing/doctype/work_order/work_order.py:808
msgid "{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3}"
-msgstr "{0}({1})不能大於計畫數量 {3} 在工作訂單中({2})"
+msgstr ""
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:385
msgid "{0} {1} has submitted Assets. Remove Item {2} from table to continue."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2410
+#: erpnext/controllers/accounts_controller.py:2415
msgid "{0} Account not found against Customer {1}."
msgstr ""
@@ -61390,7 +62531,7 @@ msgstr ""
msgid "{0} Digest"
msgstr ""
-#: erpnext/accounts/utils.py:1570
+#: erpnext/accounts/utils.py:1564
msgid "{0} Number {1} is already used in {2} {3}"
msgstr ""
@@ -61402,7 +62543,7 @@ msgstr ""
msgid "{0} Operations: {1}"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:228
+#: erpnext/stock/doctype/material_request/material_request.py:279
msgid "{0} Request for {1}"
msgstr ""
@@ -61422,25 +62563,25 @@ msgstr ""
msgid "{0} account is not of type {1}"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:510
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:491
msgid "{0} account not found while submitting purchase receipt"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1070
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1081
msgid "{0} against Bill {1} dated {2}"
-msgstr "{0}針對帳單{1}日期{2}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1079
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1090
msgid "{0} against Purchase Order {1}"
-msgstr "{0}針對採購訂單{1}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1046
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1057
msgid "{0} against Sales Invoice {1}"
-msgstr "{0}針對銷售發票{1}"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1053
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1064
msgid "{0} against Sales Order {1}"
-msgstr "{0}針對銷售訂單{1}"
+msgstr ""
#: erpnext/quality_management/doctype/quality_procedure/quality_procedure.py:69
msgid "{0} already has a Parent Procedure {1}."
@@ -61448,20 +62589,21 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.py:63
#: erpnext/accounts/report/pos_register/pos_register.py:111
+#: erpnext/accounts/report/utils.py:26
msgid "{0} and {1} are mandatory"
msgstr ""
#: erpnext/assets/doctype/asset_movement/asset_movement.py:42
msgid "{0} asset cannot be transferred"
-msgstr "{0}資產不得轉讓"
+msgstr ""
-#: erpnext/controllers/trends.py:66
+#: erpnext/controllers/trends.py:70
msgid "{0} can be either {1} or {2}."
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:279
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:297
msgid "{0} can not be negative"
-msgstr "{0}不能為負數"
+msgstr ""
#: erpnext/accounts/doctype/pos_settings/pos_settings.py:53
msgid "{0} cannot be changed with opened Opening Entries."
@@ -61475,40 +62617,49 @@ msgstr ""
msgid "{0} cannot be zero"
msgstr ""
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:921
-#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1037
-#: erpnext/stock/doctype/pick_list/pick_list.py:1341
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:922
+#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1038
+#: erpnext/stock/doctype/material_request/material_request.py:740
+#: erpnext/stock/doctype/pick_list/pick_list.py:1371
#: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:323
msgid "{0} created"
-msgstr "{0}已新增"
+msgstr ""
#: erpnext/utilities/bulk_transaction.py:31
msgid "{0} creation for the following records will be skipped."
msgstr ""
-#: erpnext/setup/doctype/company/company.py:293
+#: erpnext/setup/doctype/company/company.py:295
msgid "{0} currency must be same as company's default currency. Please select another account."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:297
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:298
msgid "{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution."
-msgstr "{0}目前擁有{1}供應商記分卡,而採購訂單應謹慎提供給供應商。"
+msgstr ""
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:141
msgid "{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution."
-msgstr "{0}目前擁有{1}供應商記分卡,並且謹慎地向該供應商發出詢價。"
+msgstr ""
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:156
msgid "{0} does not belong to Company {1}"
-msgstr "{0}不屬於公司{1}"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:372
+#: erpnext/controllers/accounts_controller.py:377
msgid "{0} does not belong to the Company {1}."
msgstr ""
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:100
+msgid "{0} doesn't belong to Company {1}. Please select a Cost Center that belongs to Company {1}."
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:57
+msgid "{0} doesn't belong to Company {1}. Please select an Income Account that belongs to Company {1}."
+msgstr ""
+
#: erpnext/accounts/doctype/item_tax_template/item_tax_template.py:74
msgid "{0} entered twice in Item Tax"
-msgstr "{0}輸入兩次項目稅"
+msgstr ""
#: erpnext/setup/doctype/item_group/item_group.py:48
#: erpnext/stock/doctype/item/item.py:506
@@ -61518,13 +62669,13 @@ msgstr ""
#: erpnext/accounts/utils.py:136
#: erpnext/projects/doctype/activity_cost/activity_cost.py:40
msgid "{0} for {1}"
-msgstr "{0}for {1}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:455
msgid "{0} has Payment Term based allocation enabled. Select a Payment Term for Row #{1} in Payment References section"
msgstr ""
-#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:805
+#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:850
msgid "{0} has been modified after you pulled it. Please pull it again."
msgstr ""
@@ -61536,7 +62687,7 @@ msgstr ""
msgid "{0} hours"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2770
+#: erpnext/controllers/accounts_controller.py:2775
msgid "{0} in row {1}"
msgstr ""
@@ -61544,6 +62695,14 @@ msgstr ""
msgid "{0} is a child table and will be deleted automatically with its parent"
msgstr ""
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:114
+msgid "{0} is a group Cost Center. Please select a non-group Cost Center."
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:78
+msgid "{0} is a group account. Please select a non-group Income Account."
+msgstr ""
+
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:94
msgid "{0} is a mandatory Accounting Dimension.
Please set a value for {0} in Accounting Dimensions section."
msgstr ""
@@ -61558,17 +62717,25 @@ msgstr ""
msgid "{0} is already running for {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:194
+#: erpnext/controllers/accounts_controller.py:199
msgid "{0} is blocked so this transaction cannot proceed"
-msgstr "{0}被阻止,所以此事務無法繼續"
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:64
+msgid "{0} is disabled. Please select a valid Income Account."
+msgstr ""
+
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:107
+msgid "{0} is disabled. Please select an enabled Cost Center."
+msgstr ""
#: erpnext/assets/doctype/asset/asset.py:509
msgid "{0} is in Draft. Submit it before creating the Asset."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1178
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1184
msgid "{0} is mandatory for Item {1}"
-msgstr "{0}是強制性的項目{1}"
+msgstr ""
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:100
#: erpnext/accounts/general_ledger.py:875
@@ -61577,17 +62744,17 @@ msgstr ""
#: erpnext/public/js/controllers/taxes_and_totals.js:132
msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}"
-msgstr "{0}是強制性的。可能沒有為{1}到{2}創建貨幣兌換記錄"
+msgstr ""
-#: erpnext/controllers/accounts_controller.py:3207
+#: erpnext/controllers/accounts_controller.py:3212
msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}."
-msgstr "{0}是強制性的。也許外幣兌換記錄為{1}到{2}尚未建立。"
+msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1863
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1929
msgid "{0} is not a CSV file."
msgstr ""
-#: erpnext/selling/doctype/customer/customer.py:237
+#: erpnext/selling/doctype/customer/customer.py:245
msgid "{0} is not a company bank account"
msgstr ""
@@ -61595,15 +62762,15 @@ msgstr ""
msgid "{0} is not a group node. Please select a group node as parent cost center"
msgstr ""
-#: erpnext/stock/doctype/stock_entry/stock_entry.py:778
+#: erpnext/stock/doctype/stock_entry/stock_entry.py:799
msgid "{0} is not a stock Item"
-msgstr "{0}不是庫存項目"
+msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:413
msgid "{0} is not a valid Accounting Dimension."
msgstr ""
-#: erpnext/controllers/item_variant.py:189
+#: erpnext/controllers/item_variant.py:251
msgid "{0} is not a valid Value for Attribute {1} of Item {2}."
msgstr ""
@@ -61611,10 +62778,14 @@ msgstr ""
msgid "{0} is not a valid {1} fieldname."
msgstr ""
-#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:168
+#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:186
msgid "{0} is not added in the table"
msgstr ""
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:71
+msgid "{0} is not an Income Account. Please select a valid Income Account."
+msgstr ""
+
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:146
msgid "{0} is not enabled in {1}"
msgstr ""
@@ -61623,13 +62794,13 @@ msgstr ""
msgid "{0} is not running. Cannot trigger events for this Document"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:652
+#: erpnext/stock/doctype/material_request/material_request.py:835
msgid "{0} is not the default supplier for any items."
msgstr ""
-#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2972
+#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2973
msgid "{0} is on hold till {1}"
-msgstr "{0}一直保持到{1}"
+msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:68
msgid "{0} is open. Close the POS or cancel the existing POS Opening Entry to create a new POS Opening Entry."
@@ -61641,7 +62812,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:501
msgid "{0} items in progress"
-msgstr "正在進行{0}項目"
+msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:525
msgid "{0} items lost during process."
@@ -61649,7 +62820,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:482
msgid "{0} items produced"
-msgstr "生產{0}項目"
+msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:505
msgid "{0} items returned"
@@ -61659,11 +62830,15 @@ msgstr ""
msgid "{0} items to return"
msgstr ""
-#: erpnext/controllers/sales_and_purchase_return.py:218
-msgid "{0} must be negative in return document"
-msgstr "{0}必須返回文檔中負"
+#: erpnext/accounts/doctype/dunning_type/dunning_type.py:144
+msgid "{0} languages are marked as default languages. Please select only one of them."
+msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2423
+#: erpnext/controllers/sales_and_purchase_return.py:236
+msgid "{0} must be negative in return document"
+msgstr ""
+
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2429
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 ""
@@ -61671,15 +62846,15 @@ msgstr ""
msgid "{0} not found for item {1}"
msgstr ""
-#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:706
+#: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:709
msgid "{0} parameter is invalid"
msgstr ""
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:65
msgid "{0} payment entries can not be filtered by {1}"
-msgstr "{0}付款分錄不能由{1}過濾"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:1819
+#: erpnext/controllers/stock_controller.py:1917
msgid "{0} qty of Item {1} is being received into Warehouse {2} with capacity {3}."
msgstr ""
@@ -61692,15 +62867,15 @@ msgstr ""
msgid "{0} transactions will be imported into the system. Please review the details below and click the 'Import' button to proceed."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:730
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:732
msgid "{0} units are reserved for Item {1} in Warehouse {2}, please un-reserve the same to {3} the Stock Reconciliation."
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:1090
+#: erpnext/stock/doctype/pick_list/pick_list.py:1120
msgid "{0} units of Item {1} is not available in any of the warehouses."
msgstr ""
-#: erpnext/stock/doctype/pick_list/pick_list.py:1083
+#: erpnext/stock/doctype/pick_list/pick_list.py:1113
msgid "{0} units of Item {1} is not available in any of the warehouses. Other Pick Lists exist for this item."
msgstr ""
@@ -61708,18 +62883,18 @@ msgstr ""
msgid "{0} units of {1} are required in {2} with the inventory dimension: {3} on {4} {5} for {6} to complete the transaction."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1682 erpnext/stock/stock_ledger.py:2197
-#: erpnext/stock/stock_ledger.py:2211
+#: erpnext/stock/stock_ledger.py:1744 erpnext/stock/stock_ledger.py:2259
+#: erpnext/stock/stock_ledger.py:2273
msgid "{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction."
-msgstr "{0} {1}在需要{2}在{3} {4}:{5}來完成這一交易單位。"
+msgstr ""
-#: erpnext/stock/stock_ledger.py:2298 erpnext/stock/stock_ledger.py:2343
+#: erpnext/stock/stock_ledger.py:2360 erpnext/stock/stock_ledger.py:2405
msgid "{0} units of {1} needed in {2} on {3} {4} to complete this transaction."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1676
+#: erpnext/stock/stock_ledger.py:1738
msgid "{0} units of {1} needed in {2} to complete this transaction."
-msgstr "{0}單位{1}在{2}完成此交易所需。"
+msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:36
msgid "{0} until {1}"
@@ -61727,25 +62902,29 @@ msgstr ""
#: erpnext/stock/utils.py:410
msgid "{0} valid serial nos for Item {1}"
-msgstr "{0}項目{1}的有效的序號"
+msgstr ""
-#: erpnext/stock/doctype/item/item.js:968
+#: erpnext/stock/doctype/item/item.js:974
msgid "{0} variants created."
-msgstr "創建了{0}個變體。"
+msgstr ""
#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:266
msgid "{0} view is currently unsupported in Custom Financial Report."
msgstr ""
+#: erpnext/stock/doctype/material_request/material_request.py:732
+msgid "{0} was set to today for items whose requested date has passed"
+msgstr ""
+
#: erpnext/accounts/doctype/payment_term/payment_term.js:19
msgid "{0} will be given as discount."
msgstr ""
-#: erpnext/public/js/utils/barcode_scanner.js:523
+#: erpnext/public/js/utils/barcode_scanner.js:532
msgid "{0} will be set as the {1} in subsequently scanned items"
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1024
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1037
msgid "{0} {1}"
msgstr ""
@@ -61763,7 +62942,7 @@ msgstr ""
#: erpnext/accounts/doctype/payment_order/payment_order.py:121
msgid "{0} {1} created"
-msgstr "已創建{0} {1}"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:628
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:681
@@ -61771,7 +62950,7 @@ msgstr "已創建{0} {1}"
msgid "{0} {1} does not exist"
msgstr ""
-#: erpnext/accounts/party.py:575
+#: erpnext/accounts/party.py:591
msgid "{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}."
msgstr ""
@@ -61783,15 +62962,15 @@ msgstr ""
msgid "{0} {1} has already been partly paid. Please use the 'Get Outstanding Invoice' or the 'Get Outstanding Orders' button to get the latest outstanding amounts."
msgstr ""
-#: erpnext/buying/doctype/purchase_order/purchase_order.py:425
+#: erpnext/buying/doctype/purchase_order/purchase_order.py:426
#: erpnext/selling/doctype/sales_order/sales_order.py:600
-#: erpnext/stock/doctype/material_request/material_request.py:255
+#: erpnext/stock/doctype/material_request/material_request.py:306
msgid "{0} {1} has been modified. Please refresh."
-msgstr "{0} {1} 已修改。請更新。"
+msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:282
+#: erpnext/stock/doctype/material_request/material_request.py:333
msgid "{0} {1} has not been submitted so the action cannot be completed"
-msgstr "{0} {1} 尚未提交, 因此無法完成操作"
+msgstr ""
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:101
msgid "{0} {1} is allocated twice in this Bank Transaction"
@@ -61803,51 +62982,59 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:711
msgid "{0} {1} is associated with {2}, but Party Account is {3}"
-msgstr "{0} {1} 與 {2} 關聯, 但當事方科目為 {3}"
+msgstr ""
+
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:911
+msgid "{0} {1} is blocked and on hold until {2}."
+msgstr ""
+
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:915
+msgid "{0} {1} is blocked."
+msgstr ""
#: erpnext/controllers/selling_controller.py:494
#: erpnext/controllers/subcontracting_controller.py:1174
msgid "{0} {1} is cancelled or closed"
-msgstr "{0} {1} 被取消或結案"
+msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:434
+#: erpnext/stock/doctype/material_request/material_request.py:485
msgid "{0} {1} is cancelled or stopped"
msgstr ""
-#: erpnext/stock/doctype/material_request/material_request.py:272
+#: erpnext/stock/doctype/material_request/material_request.py:323
msgid "{0} {1} is cancelled so the action cannot be completed"
-msgstr "{0} {1} 被取消,因此無法完成操作"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:865
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:866
msgid "{0} {1} is closed"
-msgstr "{0} {1}關閉"
+msgstr ""
-#: erpnext/accounts/party.py:813
+#: erpnext/accounts/party.py:829
msgid "{0} {1} is disabled"
-msgstr "{0} {1}被禁用"
+msgstr ""
-#: erpnext/accounts/party.py:819
+#: erpnext/accounts/party.py:835
msgid "{0} {1} is frozen"
-msgstr "{0} {1}被凍結"
+msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:862
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:863
msgid "{0} {1} is fully billed"
-msgstr "{0} {1}}已開票"
+msgstr ""
-#: erpnext/accounts/party.py:823
+#: erpnext/accounts/party.py:839
msgid "{0} {1} is not active"
-msgstr "{0} {1}是不活動"
+msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:688
msgid "{0} {1} is not associated with {2} {3}"
-msgstr "{0} {1} 未與 {2} {3} 關聯"
+msgstr ""
#: erpnext/accounts/utils.py:132
msgid "{0} {1} is not in any active Fiscal Year"
msgstr ""
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:859
-#: erpnext/accounts/doctype/journal_entry/journal_entry.py:898
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:860
+#: erpnext/accounts/doctype/journal_entry/journal_entry.py:899
msgid "{0} {1} is not submitted"
msgstr ""
@@ -61857,9 +63044,9 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:727
msgid "{0} {1} must be submitted"
-msgstr "{0} {1}必須提交"
+msgstr ""
-#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:277
+#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:506
msgid "{0} {1} not allowed to be reposted. You can enable it by adding it '{2}' table in {3}."
msgstr ""
@@ -61873,12 +63060,12 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:225
msgid "{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry"
-msgstr "{0} {1}:“損益”科目類型{2}不允許進入開"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:251
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:86
msgid "{0} {1}: Account {2} does not belong to Company {3}"
-msgstr "{0} {1}科目{2}不屬於公司{3}"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:239
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:74
@@ -61888,15 +63075,15 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:246
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:81
msgid "{0} {1}: Account {2} is inactive"
-msgstr "{0} {1}科目{2}無效"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:292
msgid "{0} {1}: Accounting Entry for {2} can only be made in currency: {3}"
-msgstr "{0} {1}在{2}會計分錄只能在貨幣言:{3}"
+msgstr ""
-#: erpnext/controllers/stock_controller.py:988
+#: erpnext/controllers/stock_controller.py:1087
msgid "{0} {1}: Cost Center is mandatory for Item {2}"
-msgstr "{0} {1}:成本中心是強制性的項目{2}"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:178
msgid "{0} {1}: Cost Center is required for 'Profit and Loss' account {2}."
@@ -61904,7 +63091,7 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:264
msgid "{0} {1}: Cost Center {2} does not belong to Company {3}"
-msgstr "{0} {1}:成本中心{2}不屬於公司{3}"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:271
msgid "{0} {1}: Cost Center {2} is a group cost center and group cost centers cannot be used in transactions"
@@ -61912,25 +63099,25 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:144
msgid "{0} {1}: Customer is required against Receivable account {2}"
-msgstr "{0} {1}:需要客戶對應收帳款{2}"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:166
msgid "{0} {1}: Either debit or credit amount is required for {2}"
-msgstr "{0} {1}:無論是借方或貸方金額需要{2}"
+msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.py:150
msgid "{0} {1}: Supplier is required against Payable account {2}"
-msgstr "{0} {1}:需要對供應商應付帳款{2}"
+msgstr ""
#: erpnext/projects/doctype/project/project_list.js:6
msgid "{0}%"
msgstr ""
-#: erpnext/controllers/website_list_for_contact.py:207
+#: erpnext/controllers/website_list_for_contact.py:209
msgid "{0}% Billed"
msgstr ""
-#: erpnext/controllers/website_list_for_contact.py:215
+#: erpnext/controllers/website_list_for_contact.py:217
msgid "{0}% Delivered"
msgstr ""
@@ -61939,12 +63126,12 @@ msgstr ""
msgid "{0}% of total invoice value will be given as discount."
msgstr ""
-#: erpnext/projects/doctype/task/task.py:130
+#: erpnext/projects/doctype/task/task.py:131
msgid "{0}'s {1} cannot be after {2}'s Expected End Date."
msgstr ""
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1350
-#: erpnext/manufacturing/doctype/job_card/job_card.py:1358
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1363
+#: erpnext/manufacturing/doctype/job_card/job_card.py:1371
msgid "{0}, complete the operation {1} before the operation {2}."
msgstr ""
@@ -61968,23 +63155,23 @@ msgstr ""
msgid "{0}: Virtual DocType (no database table)"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:884
+#: erpnext/stock/doctype/item/item.js:890
msgid "{0}: remove invalid value(s) {1}"
msgstr ""
-#: erpnext/stock/doctype/item/item.js:891
+#: erpnext/stock/doctype/item/item.js:897
msgid "{0}: select the typed value {1} from the list or clear it"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:562
+#: erpnext/controllers/accounts_controller.py:567
msgid "{0}: {1} does not belong to the Company: {2}"
msgstr ""
-#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1353
+#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1364
msgid "{0}: {1} does not exist"
msgstr ""
-#: erpnext/setup/doctype/company/company.py:280
+#: erpnext/setup/doctype/company/company.py:282
msgid "{0}: {1} is a group account."
msgstr ""
@@ -61992,23 +63179,23 @@ msgstr ""
msgid "{0}: {1} must be less than {2}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1082
+#: erpnext/controllers/buying_controller.py:1101
msgid "{count} Assets created for {item_code}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:980
+#: erpnext/controllers/buying_controller.py:999
msgid "{doctype} {name} is cancelled or closed."
msgstr ""
-#: erpnext/controllers/buying_controller.py:704
+#: erpnext/controllers/buying_controller.py:723
msgid "{field_label} is mandatory for sub-contracted {doctype}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:2283
+#: erpnext/controllers/stock_controller.py:2383
msgid "{item_name}'s Sample Size ({sample_size}) cannot be greater than the Accepted Quantity ({accepted_quantity})"
msgstr ""
-#: erpnext/controllers/stock_controller.py:2048
+#: erpnext/controllers/stock_controller.py:2146
msgid "{ref_doctype} {ref_name} status is {status}."
msgstr ""
@@ -62016,7 +63203,7 @@ msgstr ""
msgid "{}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2189
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2195
msgid "{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {}"
msgstr ""
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index f744a38d9f0..aa010590bc5 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -282,6 +282,7 @@ class BOM(WebsiteGenerator):
self.clear_inspection()
self.validate_main_item()
self.validate_currency()
+ self.set_operation_finished_goods()
self.set_materials_based_on_operation_bom()
self.set_conversion_rate()
self.set_plc_conversion_rate()
@@ -307,15 +308,42 @@ class BOM(WebsiteGenerator):
if self.docstatus == 1:
self.validate_raw_materials_of_operation()
+ def set_operation_finished_goods(self):
+ """Fill each operation's FG item where it is unambiguous: the final operation produces
+ this BOM's item, an operation with a BOM produces that BOM's item. Runs before
+ set_materials_based_on_operation_bom so derived rows get their materials expanded."""
+ if not self.track_semi_finished_goods:
+ return
+
+ for row in self.operations:
+ if row.is_final_finished_good and not row.finished_good:
+ row.finished_good = self.item
+ elif row.bom_no and not row.finished_good:
+ row.finished_good = frappe.get_cached_value("BOM", row.bom_no, "item")
+
def validate_semi_finished_goods(self):
if not self.track_semi_finished_goods or not self.operations:
return
fg_items = []
for row in self.operations:
+ if not row.finished_good:
+ frappe.throw(
+ _(
+ "Row #{0}: FG / Semi FG Item is required for the operation {1} as 'Track Semi Finished Goods' is enabled."
+ ).format(row.idx, bold(row.operation)),
+ )
+
if not row.is_final_finished_good:
continue
+ if row.finished_good != self.item:
+ frappe.throw(
+ _(
+ "Row #{0}: The operation {1} has 'Is Final Finished Good' checked, so its FG / Semi FG Item must be {2}."
+ ).format(row.idx, bold(row.operation), bold(self.item)),
+ )
+
fg_items.append(row.finished_good)
if not fg_items:
@@ -826,7 +854,7 @@ class BOM(WebsiteGenerator):
self.add_materials_from_bom(row.finished_good, row.bom_no, row.idx, qty=row.finished_good_qty)
@frappe.whitelist()
- def add_raw_materials(self, operation_row_id, items):
+ def add_raw_materials(self, operation_row_id: str | int, items: str | list[dict]) -> None:
if isinstance(items, str):
items = parse_json(items)
@@ -836,17 +864,10 @@ class BOM(WebsiteGenerator):
row.update(get_item_details(row.get("item_code")))
row.operation_row_id = operation_row_id
- item_row = None
- if row.name:
- item_row = self.get_item_data(row.name)
+ item_row = self.get_item_data(row.item_code, operation_row_id)
if item_row:
- item_row.update(
- {
- "item_code": row.get("item_code"),
- "qty": row.get("qty"),
- }
- )
+ item_row.qty = row.get("qty")
else:
row.idx = None
row.name = None
@@ -867,9 +888,9 @@ class BOM(WebsiteGenerator):
return False
- def get_item_data(self, name):
+ def get_item_data(self, item_code, operation_row_id):
for row in self.items:
- if row.item_code == name:
+ if row.item_code == item_code and cint(row.operation_row_id) == cint(operation_row_id):
return row
@frappe.whitelist()
@@ -1888,10 +1909,10 @@ def item_query(doctype, txt, searchfield, start, page_len, filters):
[IfNull(Field("end_of_life"), "3099-12-31"), ">", today()],
]
- or_cond_filters = {}
+ or_cond_filters = []
if txt:
for s_field in searchfields:
- or_cond_filters[s_field] = ("like", f"%{txt}%")
+ or_cond_filters.append([s_field, "like", f"%{txt}%"])
barcodes = frappe.get_all(
"Item Barcode",
@@ -1902,7 +1923,7 @@ def item_query(doctype, txt, searchfield, start, page_len, filters):
barcodes = [d.item_code for d in barcodes]
if barcodes:
- or_cond_filters["name"] = ("in", barcodes)
+ or_cond_filters.append(["name", "in", barcodes])
if filters and filters.get("item_code"):
has_variants = frappe.get_cached_value("Item", filters.get("item_code"), "has_variants")
diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py
index 77e0ecddb1d..9d46906d621 100644
--- a/erpnext/manufacturing/doctype/bom/test_bom.py
+++ b/erpnext/manufacturing/doctype/bom/test_bom.py
@@ -7,7 +7,7 @@ from functools import partial
import frappe
from frappe.tests import timeout
-from frappe.utils import cstr, flt
+from frappe.utils import cint, cstr, flt
from erpnext.controllers.tests.test_subcontracting_controller import (
set_backflush_based_on,
@@ -486,6 +486,29 @@ class TestBOM(ERPNextTestSuite):
self.assertNotEqual(len(test_items), len(filtered), msg="Item filtering showing excessive results")
self.assertTrue(0 < len(filtered) <= 3, msg="Item filtering showing excessive results")
+ @timeout
+ def test_bom_item_query_matches_item_code_colliding_with_another_barcode(self):
+ item = make_item(
+ "_Test BOM Query 2.5MM",
+ {"is_stock_item": 1, "item_name": "_Test BOM Query Sheet", "description": "sheet"},
+ )
+ make_item(
+ "_Test BOM Query Barcode Holder",
+ {"is_stock_item": 1},
+ barcode=f"90{item.name}90",
+ )
+
+ results = item_query(
+ doctype="Item",
+ txt=item.name,
+ searchfield="name",
+ start=0,
+ page_len=20,
+ filters={"is_stock_item": 1},
+ )
+
+ self.assertIn(item.name, [d[0] for d in results])
+
@timeout
def test_exclude_exploded_items_from_bom(self):
bom_no = get_default_bom()
@@ -811,6 +834,207 @@ class TestBOM(ERPNextTestSuite):
for row in bom.items:
self.assertEqual(row.stock_uom, "Kg")
+ @timeout
+ def test_track_semi_finished_goods_requires_finished_good_on_operations(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
+
+ fg_item = make_item(properties={"is_stock_item": 1}).name
+ sfg_item = make_item(properties={"is_stock_item": 1}).name
+ rm_item = make_item(properties={"is_stock_item": 1, "valuation_rate": 100.0}).name
+ make_workstation({"workstation": "_Test SFG Workstation"})
+ for operation in ("_Test SFG Operation", "_Test SFG Final Operation"):
+ make_operation({"operation": operation, "workstation": "_Test SFG Workstation"})
+
+ bom = frappe.new_doc("BOM")
+ bom.company = "_Test Company"
+ bom.item = fg_item
+ bom.quantity = 1
+ bom.with_operations = 1
+ bom.track_semi_finished_goods = 1
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ },
+ )
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Final Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "is_final_finished_good": 1,
+ },
+ )
+ bom.append("items", {"item_code": rm_item, "qty": 1, "operation_row_id": 1})
+ bom.append("items", {"item_code": sfg_item, "qty": 1, "operation_row_id": 2})
+
+ # the first operation produces nothing derivable: no FG item, no BOM to take it from
+ self.assertRaises(frappe.ValidationError, bom.insert)
+
+ bom.operations[0].finished_good = sfg_item
+ bom.insert()
+
+ # the final operation's FG item is derived from the BOM's own item
+ self.assertEqual(bom.operations[1].finished_good, fg_item)
+
+ @timeout
+ def test_add_raw_materials_when_item_is_used_by_another_operation(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
+
+ fg_item = make_item(properties={"is_stock_item": 1}).name
+ sfg_item = make_item(properties={"is_stock_item": 1}).name
+ rm_item = make_item(properties={"is_stock_item": 1, "valuation_rate": 100.0}).name
+ make_workstation({"workstation": "_Test SFG Workstation"})
+ for operation in ("_Test SFG Operation", "_Test SFG Final Operation"):
+ make_operation({"operation": operation, "workstation": "_Test SFG Workstation"})
+
+ bom = frappe.new_doc("BOM")
+ bom.company = "_Test Company"
+ bom.item = fg_item
+ bom.quantity = 1
+ bom.with_operations = 1
+ bom.track_semi_finished_goods = 1
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "finished_good": sfg_item,
+ },
+ )
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Final Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "is_final_finished_good": 1,
+ },
+ )
+ bom.append("items", {"item_code": rm_item, "qty": 1, "operation_row_id": 1})
+ bom.append("items", {"item_code": sfg_item, "qty": 1, "operation_row_id": 2})
+ bom.insert()
+
+ def rows_for(item_code, operation_row_id):
+ return [
+ row
+ for row in bom.items
+ if row.item_code == item_code and cint(row.operation_row_id) == operation_row_id
+ ]
+
+ # the item already used by operation 1 gets its own new row under operation 2
+ bom.add_raw_materials(2, [{"item_code": rm_item, "qty": 3}])
+ self.assertEqual(len(rows_for(rm_item, 2)), 1)
+ self.assertEqual(flt(rows_for(rm_item, 2)[0].qty), 3.0)
+ self.assertEqual(flt(rows_for(rm_item, 1)[0].qty), 1.0)
+
+ # adding it again for the same operation updates the row instead of stacking another
+ bom.add_raw_materials(2, [{"item_code": rm_item, "qty": 5}])
+ self.assertEqual(len(rows_for(rm_item, 2)), 1)
+ self.assertEqual(flt(rows_for(rm_item, 2)[0].qty), 5.0)
+
+ @timeout
+ def test_operation_bom_materials_expand_on_single_pass_submit(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
+
+ fg_item = make_item(properties={"is_stock_item": 1}).name
+ sfg_item = make_item(properties={"is_stock_item": 1}).name
+ rm_item = make_item(properties={"is_stock_item": 1, "valuation_rate": 100.0}).name
+ make_workstation({"workstation": "_Test SFG Workstation"})
+ for operation in ("_Test SFG Operation", "_Test SFG Final Operation"):
+ make_operation({"operation": operation, "workstation": "_Test SFG Workstation"})
+
+ sfg_bom = frappe.new_doc("BOM", company="_Test Company", item=sfg_item, quantity=1)
+ sfg_bom.append("items", {"item_code": rm_item, "qty": 1})
+ sfg_bom.insert()
+ sfg_bom.submit()
+
+ bom = frappe.new_doc("BOM")
+ bom.company = "_Test Company"
+ bom.item = fg_item
+ bom.quantity = 1
+ bom.with_operations = 1
+ bom.track_semi_finished_goods = 1
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "bom_no": sfg_bom.name,
+ },
+ )
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Final Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "is_final_finished_good": 1,
+ },
+ )
+ bom.append("items", {"item_code": sfg_item, "qty": 1, "operation_row_id": 2})
+ bom.submit()
+
+ self.assertEqual(bom.docstatus, 1)
+ self.assertEqual(bom.operations[0].finished_good, sfg_item)
+ self.assertTrue(
+ any(row.item_code == rm_item and cint(row.operation_row_id) == 1 for row in bom.items)
+ )
+
+ @timeout
+ def test_final_operation_must_produce_the_bom_item(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
+
+ fg_item = make_item(properties={"is_stock_item": 1}).name
+ sfg_item = make_item(properties={"is_stock_item": 1}).name
+ rm_item = make_item(properties={"is_stock_item": 1, "valuation_rate": 100.0}).name
+ make_workstation({"workstation": "_Test SFG Workstation"})
+ for operation in ("_Test SFG Operation", "_Test SFG Final Operation"):
+ make_operation({"operation": operation, "workstation": "_Test SFG Workstation"})
+
+ bom = frappe.new_doc("BOM")
+ bom.company = "_Test Company"
+ bom.item = fg_item
+ bom.quantity = 1
+ bom.with_operations = 1
+ bom.track_semi_finished_goods = 1
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "finished_good": sfg_item,
+ },
+ )
+ bom.append(
+ "operations",
+ {
+ "operation": "_Test SFG Final Operation",
+ "workstation": "_Test SFG Workstation",
+ "time_in_mins": 30,
+ "is_final_finished_good": 1,
+ "finished_good": sfg_item,
+ },
+ )
+ bom.append("items", {"item_code": rm_item, "qty": 1, "operation_row_id": 1})
+ bom.append("items", {"item_code": sfg_item, "qty": 1, "operation_row_id": 2})
+
+ # the final operation claims to produce the semi FG, not this BOM's item
+ self.assertRaises(frappe.ValidationError, bom.insert)
+
+ bom.operations[1].finished_good = fg_item
+ bom.insert()
+
def get_default_bom(item_code="_Test FG Item 2"):
return frappe.db.get_value("BOM", {"item": item_code, "is_active": 1, "is_default": 1})
@@ -881,10 +1105,15 @@ def reset_item_valuation_rate(item_code, warehouse_list=None, qty=None, rate=Non
warehouse_list = [warehouse_list]
if not warehouse_list:
+ # Reconcile every warehouse the item has a non-zero balance in -- including
+ # negative balances left by other tests. get_valuation_rate averages
+ # Sum(stock_value)/Sum(actual_qty) across all bins, so a leftover negative
+ # balance in one warehouse can cancel the reset qty elsewhere and make the
+ # average collapse to 0, which is a source of flaky BOM-cost failures.
warehouse_list = frappe.db.sql_list(
"""
select warehouse from `tabBin`
- where item_code=%s and actual_qty > 0
+ where item_code=%s and actual_qty != 0
""",
item_code,
)
diff --git a/erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json b/erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
index c5b39d88735..cadc8dfd8e2 100644
--- a/erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
+++ b/erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
@@ -140,7 +140,8 @@
{
"fieldname": "conversion_factor",
"fieldtype": "Float",
- "label": "Conversion Factor"
+ "label": "Conversion Factor",
+ "precision": "9"
},
{
"fetch_from": "item_code.stock_uom",
@@ -264,7 +265,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2025-11-05 21:15:55.187671",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Creator Item",
diff --git a/erpnext/manufacturing/doctype/bom_item/bom_item.json b/erpnext/manufacturing/doctype/bom_item/bom_item.json
index 52e7d4da609..12d5090ef0e 100644
--- a/erpnext/manufacturing/doctype/bom_item/bom_item.json
+++ b/erpnext/manufacturing/doctype/bom_item/bom_item.json
@@ -177,7 +177,8 @@
{
"fieldname": "conversion_factor",
"fieldtype": "Float",
- "label": "Conversion Factor"
+ "label": "Conversion Factor",
+ "precision": "9"
},
{
"fieldname": "rate_amount_section",
@@ -327,7 +328,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2025-11-05 19:00:38.646539",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Item",
diff --git a/erpnext/manufacturing/doctype/bom_operation/bom_operation.json b/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
index 86fcd7082fd..e6ac3ee474e 100644
--- a/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
+++ b/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
@@ -213,6 +213,7 @@
"fieldtype": "Link",
"in_list_view": 1,
"label": "FG / Semi FG Item",
+ "mandatory_depends_on": "eval:parent.track_semi_finished_goods === 1",
"options": "Item"
},
{
@@ -307,7 +308,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-05-25 17:15:42.044630",
+ "modified": "2026-08-08 12:00:00.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Operation",
diff --git a/erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json b/erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
index ad2f69af5d9..a76be016de7 100644
--- a/erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
+++ b/erpnext/manufacturing/doctype/bom_secondary_item/bom_secondary_item.json
@@ -99,6 +99,7 @@
"fieldtype": "Float",
"label": "Conversion Factor",
"non_negative": 1,
+ "precision": "9",
"reqd": 1
},
{
@@ -217,7 +218,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-06-16 16:49:19.000000",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Secondary Item",
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.js b/erpnext/manufacturing/doctype/job_card/job_card.js
index 0a4026672cf..cddc15475ab 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.js
+++ b/erpnext/manufacturing/doctype/job_card/job_card.js
@@ -67,7 +67,11 @@ frappe.ui.form.on("Job Card", {
if (remaining_qty < frm.doc.pending_qty) {
frm.doc.pending_qty = 0.0;
refresh_field("pending_qty");
- frappe.throw(__("Pending Quantity cannot be greater than {0}", [remaining_qty]));
+ frappe.throw(
+ __("Pending Quantity cannot be greater than {0}", [
+ get_qty_with_uom(remaining_qty, frm.doc.stock_uom),
+ ])
+ );
}
const process_loss_qty = flt(remaining_qty) - flt(frm.doc.pending_qty);
@@ -99,7 +103,8 @@ frappe.ui.form.on("Job Card", {
doc.docstatus === 1 &&
!doc.is_subcontracted &&
(doc.skip_material_transfer || doc.transferred_qty > 0) &&
- flt(doc.manufactured_qty) + flt(doc.process_loss_qty) < flt(doc.for_quantity);
+ flt(doc.manufactured_qty) + flt(doc.process_loss_qty) <
+ flt(doc.for_quantity) - flt(doc.pending_qty);
if (!can_make_stock_entry) return;
@@ -243,13 +248,15 @@ frappe.ui.form.on("Job Card", {
const fields = [
{
fieldtype: "Float",
- label: __("Qty to Manufacture"),
+ label: __("Qty to Manufacture in this Cycle"),
fieldname: "for_quantity",
reqd: 1,
default: pending_qty,
+ description: __("Completed, Pending and Process Loss quantities must add up to this."),
change() {
const dialog = frm.job_completion_dialog;
dialog.set_value("completed_qty", dialog.get_value("for_quantity"));
+ dialog.set_value("pending_qty", 0);
dialog.set_value("process_loss_qty", 0);
},
},
@@ -261,8 +268,23 @@ frappe.ui.form.on("Job Card", {
default: pending_qty,
change() {
const dialog = frm.job_completion_dialog;
- const remaining = dialog.get_value("for_quantity") - dialog.get_value("completed_qty");
- if (remaining > 0 && remaining != dialog.get_value("pending_qty")) {
+ const remaining =
+ dialog.get_value("for_quantity") -
+ dialog.get_value("completed_qty") -
+ dialog.get_value("process_loss_qty");
+
+ if (remaining < 0) {
+ const max_completed_qty =
+ flt(dialog.get_value("for_quantity")) - flt(dialog.get_value("process_loss_qty"));
+ dialog.set_value("completed_qty", max_completed_qty);
+ frappe.throw(
+ __("Completed Quantity cannot be greater than {0}", [
+ get_qty_with_uom(max_completed_qty, frm.doc.stock_uom),
+ ])
+ );
+ }
+
+ if (remaining != dialog.get_value("pending_qty")) {
dialog.set_value("pending_qty", remaining);
}
},
@@ -272,13 +294,28 @@ frappe.ui.form.on("Job Card", {
label: __("Pending Quantity"),
fieldname: "pending_qty",
default: 0.0,
+ description: __("Qty left for a later cycle or for another job card."),
change() {
const dialog = frm.job_completion_dialog;
const process_loss_qty =
dialog.get_value("for_quantity") -
dialog.get_value("completed_qty") -
dialog.get_value("pending_qty");
- if (process_loss_qty >= 0 && process_loss_qty != dialog.get_value("process_loss_qty")) {
+
+ if (process_loss_qty < 0) {
+ dialog.set_value("pending_qty", 0);
+ frappe.throw(
+ __("Pending Quantity cannot be greater than {0}", [
+ get_qty_with_uom(
+ flt(dialog.get_value("for_quantity")) -
+ flt(dialog.get_value("completed_qty")),
+ frm.doc.stock_uom
+ ),
+ ])
+ );
+ }
+
+ if (process_loss_qty != dialog.get_value("process_loss_qty")) {
dialog.set_value("process_loss_qty", process_loss_qty);
}
},
@@ -287,13 +324,28 @@ frappe.ui.form.on("Job Card", {
fieldtype: "Float",
label: __("Process Loss Quantity"),
fieldname: "process_loss_qty",
+ description: __("Qty scrapped in this cycle, nobody will produce it."),
onchange() {
const dialog = frm.job_completion_dialog;
const remaining =
dialog.get_value("for_quantity") -
dialog.get_value("completed_qty") -
dialog.get_value("process_loss_qty");
- if (remaining >= 0 && remaining != dialog.get_value("pending_qty")) {
+
+ if (remaining < 0) {
+ dialog.set_value("process_loss_qty", 0);
+ frappe.throw(
+ __("Process Loss Quantity cannot be greater than {0}", [
+ get_qty_with_uom(
+ flt(dialog.get_value("for_quantity")) -
+ flt(dialog.get_value("completed_qty")),
+ frm.doc.stock_uom
+ ),
+ ])
+ );
+ }
+
+ if (remaining != dialog.get_value("pending_qty")) {
dialog.set_value("pending_qty", remaining);
}
},
@@ -357,9 +409,8 @@ frappe.ui.form.on("Job Card", {
},
});
},
- __("Enter Value"),
- __("Update"),
- __("Set Finished Good Quantity")
+ __("Complete Job"),
+ __("Update")
);
},
@@ -385,46 +436,6 @@ frappe.ui.form.on("Job Card", {
});
},
- make_finished_good(frm) {
- const fields = [
- {
- fieldtype: "Float",
- label: __("Completed Quantity"),
- fieldname: "qty",
- reqd: 1,
- default: frm.doc.for_quantity - frm.doc.manufactured_qty,
- },
- {
- fieldtype: "Datetime",
- label: __("End Time"),
- fieldname: "end_time",
- default: frappe.datetime.now_datetime(),
- },
- ];
-
- frappe.prompt(
- fields,
- (data) => {
- if (data.qty <= 0) {
- frappe.throw(__("Quantity should be greater than 0"));
- }
-
- frm.call({
- method: "make_finished_good",
- doc: frm.doc,
- args: { qty: data.qty, end_time: data.end_time },
- callback(r) {
- const doc = frappe.model.sync(r.message);
- frappe.set_route("Form", doc[0].doctype, doc[0].name);
- },
- });
- },
- __("Enter Value"),
- __("Update"),
- __("Set Finished Good Quantity")
- );
- },
-
setup_quality_inspection(frm) {
const quality_inspection_field = frm.get_docfield("quality_inspection");
quality_inspection_field.get_route_options_for_new_doc = function (frm) {
@@ -587,8 +598,7 @@ frappe.ui.form.on("Job Card", {
const has_remaining_qty = doc.for_quantity + doc.process_loss_qty > doc.total_completed_qty;
const pending_transfer =
has_items && doc.items.some((row) => flt(row.transferred_qty) < flt(row.required_qty));
- const materials_ready =
- doc.skip_material_transfer || !pending_transfer || !doc.finished_good || !has_items;
+ const materials_ready = doc.skip_material_transfer || doc.is_corrective_job_card || !pending_transfer;
let last_row = {};
const has_sub_ops_or_pending_qty = doc.sub_operations?.length || doc.pending_qty > 0;
@@ -886,3 +896,7 @@ function get_last_completed_row(time_logs) {
function get_last_row(time_logs) {
return time_logs[time_logs.length - 1] || {};
}
+
+function get_qty_with_uom(qty, stock_uom) {
+ return stock_uom ? `${flt(qty)} ${stock_uom}` : flt(qty);
+}
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.json b/erpnext/manufacturing/doctype/job_card/job_card.json
index c215aee42d4..ab84a259442 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.json
+++ b/erpnext/manufacturing/doctype/job_card/job_card.json
@@ -13,10 +13,11 @@
"work_order",
"column_break_uqjq",
"production_item",
+ "bom_no",
"column_break_qrpg",
"for_quantity",
"column_break_yecz",
- "bom_no",
+ "stock_uom",
"section_break_oisd",
"company",
"naming_series",
@@ -164,6 +165,13 @@
"in_preview": 1,
"label": "Qty To Manufacture"
},
+ {
+ "fieldname": "stock_uom",
+ "fieldtype": "Link",
+ "label": "Stock UOM",
+ "options": "UOM",
+ "read_only": 1
+ },
{
"fieldname": "wip_warehouse",
"fieldtype": "Link",
@@ -695,7 +703,7 @@
"grid_page_length": 50,
"is_submittable": 1,
"links": [],
- "modified": "2026-06-19 17:39:42.293242",
+ "modified": "2026-08-01 14:22:19.926911",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Job Card",
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index 3b4f8008f08..0e05bfb18a8 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -130,6 +130,7 @@ class JobCard(Document):
"Cancelled",
"Completed",
]
+ stock_uom: DF.Link | None
sub_operations: DF.Table[JobCardOperation]
target_warehouse: DF.Link | None
time_logs: DF.Table[JobCardTimeLog]
@@ -158,6 +159,7 @@ class JobCard(Document):
def before_validate(self):
self.set_wip_warehouse()
+ self.set_stock_uom()
def validate(self):
self.validate_time_logs()
@@ -845,6 +847,9 @@ class JobCard(Document):
)
def validate_transfer_qty(self):
+ if self.track_semi_finished_goods and self.skip_material_transfer:
+ return
+
if (
not self.finished_good
and not self.is_corrective_job_card
@@ -895,22 +900,21 @@ class JobCard(Document):
)
precision = self.precision("total_completed_qty")
- total_completed_qty = flt(
+ accounted_qty = flt(
flt(self.total_completed_qty, precision)
+ flt(self.process_loss_qty, precision)
+ flt(self.pending_qty, precision)
)
- if self.for_quantity and flt(total_completed_qty, precision) != flt(self.for_quantity, precision):
- total_completed_qty_label = bold(_("Total Completed Qty"))
- qty_to_manufacture = bold(_("Qty to Manufacture"))
-
+ if self.for_quantity and flt(accounted_qty, precision) != flt(self.for_quantity, precision):
frappe.throw(
- _("The {0} ({1}) must be equal to {2} ({3})").format(
- total_completed_qty_label,
- bold(flt(total_completed_qty, precision)),
- qty_to_manufacture,
- bold(self.for_quantity),
+ _(
+ "Total Completed Qty ({0}), Process Loss Qty ({1}) and Pending Qty ({2}) must add up to the Qty to Manufacture ({3})."
+ ).format(
+ bold(self.get_qty_with_uom(self.total_completed_qty)),
+ bold(self.get_qty_with_uom(self.process_loss_qty)),
+ bold(self.get_qty_with_uom(self.pending_qty)),
+ bold(self.get_qty_with_uom(self.for_quantity)),
)
)
@@ -1073,6 +1077,9 @@ class JobCard(Document):
wo.calculate_operating_cost()
wo.set_actual_dates()
+ if wo.track_semi_finished_goods:
+ wo.set_process_loss_qty()
+
if time_data:
wo.status = "In Process"
@@ -1162,7 +1169,10 @@ class JobCard(Document):
_(
"Row #{0}: Cannot transfer more than Required Qty {1} for Item {2} against Job Card {3}"
).format(
- row.idx, frappe.bold(required_qty), frappe.bold(row.item_code), ste_doc.job_card
+ row.idx,
+ frappe.bold(self.get_qty_with_uom(required_qty, row.item_code)),
+ frappe.bold(row.item_code),
+ ste_doc.job_card,
),
title=_("Excess Transfer"),
exc=JobCardOverTransferError,
@@ -1236,7 +1246,7 @@ class JobCard(Document):
def set_status(self, update_status=False):
self.status = {0: "Open", 1: "Submitted", 2: "Cancelled"}[self.docstatus or 0]
if self.finished_good and self.docstatus == 1:
- if (self.manufactured_qty + self.process_loss_qty) >= self.for_quantity:
+ if (self.manufactured_qty + self.process_loss_qty) >= self.get_qty_to_produce():
self.status = "Completed"
elif self.transferred_qty > 0 or self.skip_material_transfer:
self.status = "Work In Progress"
@@ -1267,7 +1277,8 @@ class JobCard(Document):
self.status = "Work In Progress"
if self.docstatus == 1 and (
- self.for_quantity <= (self.total_completed_qty + self.process_loss_qty) or not self.items
+ self.get_qty_to_produce() <= (self.total_completed_qty + self.process_loss_qty)
+ or not self.items
):
self.status = "Completed"
@@ -1280,10 +1291,27 @@ class JobCard(Document):
if self.workstation:
self.update_workstation_status()
+ def get_qty_to_produce(self):
+ """Qty this job card is expected to produce, the pending qty is left to another job card."""
+ return flt(self.for_quantity) - flt(self.pending_qty)
+
+ def get_qty_with_uom(self, qty, item_code=None):
+ """A quantity in a message reads as a count of nothing without the unit it is measured in."""
+ uom = self.stock_uom
+ if item_code:
+ uom = frappe.get_cached_value("Item", item_code, "stock_uom")
+
+ return f"{flt(qty, self.precision('total_completed_qty'))} {uom or ''}".strip()
+
def set_wip_warehouse(self):
if not self.wip_warehouse:
self.wip_warehouse = frappe.get_cached_value("Company", self.company, "default_wip_warehouse")
+ def set_stock_uom(self):
+ item_code = self.finished_good or self.production_item
+ if item_code:
+ self.stock_uom = frappe.get_cached_value("Item", item_code, "stock_uom")
+
def validate_operation_id(self):
if (
self.get("operation_id")
@@ -1346,9 +1374,9 @@ class JobCard(Document):
current_operation_qty += flt(self.total_completed_qty)
- data = frappe.get_all(
+ previous_operations = frappe.get_all(
"Work Order Operation",
- fields=["operation", "status", "completed_qty", "sequence_id"],
+ fields=["name", "operation", "status", "completed_qty", "sequence_id", "finished_good"],
filters={"docstatus": 1, "parent": self.work_order, "sequence_id": ("<", self.sequence_id)},
order_by="sequence_id, idx",
)
@@ -1357,7 +1385,19 @@ class JobCard(Document):
bold(self.name), bold(get_link_to_form("Work Order", self.work_order))
)
- for row in data:
+ if self.track_semi_finished_goods and previous_operations:
+ manufactured_qty = self.get_manufactured_qty_per_operation(
+ [row.name for row in previous_operations]
+ )
+
+ for row in previous_operations:
+ row.manufactured_qty = flt(manufactured_qty.get(row.name))
+
+ for row in previous_operations:
+ if self.track_semi_finished_goods:
+ self.validate_previous_operation_manufactured_qty(row, current_operation_qty)
+ continue
+
if not row.completed_qty:
frappe.throw(
_("{0}, complete the operation {1} before the operation {2}.").format(
@@ -1379,13 +1419,59 @@ class JobCard(Document):
_(
"The completed quantity {0} of an operation {1} cannot be greater than the completed quantity {2} of a previous operation {3}."
).format(
- bold(current_operation_qty),
+ bold(self.get_qty_with_uom(current_operation_qty)),
bold(self.operation),
- bold(row.completed_qty),
+ bold(self.get_qty_with_uom(row.completed_qty, row.finished_good)),
bold(row.operation),
)
)
+ def get_manufactured_qty_per_operation(self, operation_ids):
+ job_card = frappe.qb.DocType("Job Card")
+
+ data = (
+ frappe.qb.from_(job_card)
+ .select(job_card.operation_id, Sum(job_card.manufactured_qty))
+ .where(
+ (job_card.work_order == self.work_order)
+ & (job_card.docstatus == 1)
+ & (IfNull(job_card.is_corrective_job_card, 0) == 0)
+ & (job_card.operation_id.isin(operation_ids))
+ )
+ .groupby(job_card.operation_id)
+ ).run()
+
+ return dict(data)
+
+ def validate_previous_operation_manufactured_qty(self, row, current_operation_qty):
+ manufactured_qty = flt(row.manufactured_qty)
+
+ if not manufactured_qty:
+ frappe.throw(
+ _(
+ "Job Card {0}: As per the sequence of the operations in the work order {1}, submit the manufacturing entry for the operation {2} before the operation {3}."
+ ).format(
+ bold(self.name),
+ bold(get_link_to_form("Work Order", self.work_order)),
+ bold(row.operation),
+ bold(self.operation),
+ ),
+ OperationSequenceError,
+ )
+
+ if manufactured_qty < current_operation_qty:
+ frappe.throw(
+ _(
+ "The completed quantity {0} of an operation {1} cannot be greater than the manufactured quantity {2} of a previous operation {3}. Submit the manufacturing entry for the operation {3} first."
+ ).format(
+ bold(self.get_qty_with_uom(current_operation_qty)),
+ bold(self.operation),
+ bold(self.get_qty_with_uom(manufactured_qty, row.finished_good)),
+ bold(row.operation),
+ ),
+ OperationSequenceError,
+ )
+
def validate_work_order(self):
if self.is_work_order_closed():
frappe.throw(_("You can't make any changes to Job Card since Work Order is closed."))
@@ -1493,6 +1579,7 @@ class JobCard(Document):
def start_timer(self, **kwargs):
frappe.has_permission("Job Card", "write", doc=self, throw=True)
self.validate_docstatus()
+ self.validate_transfer_qty()
if isinstance(kwargs, dict):
kwargs = frappe._dict(kwargs)
@@ -1510,12 +1597,22 @@ class JobCard(Document):
frappe.has_permission("Job Card", "write", doc=self, throw=True)
self.validate_docstatus()
+ self.validate_transfer_qty()
if isinstance(kwargs, dict):
kwargs = frappe._dict(kwargs)
+ self.set_for_quantity(kwargs)
self.validate_complete_job_card_qty(kwargs)
+ def set_for_quantity(self, kwargs):
+ """Qty to Manufacture of the completion dialog covers the current cycle only,
+ so the qty completed by the earlier cycles of this job card is kept."""
+ if not flt(kwargs.for_quantity):
+ return
+
+ self.for_quantity = flt(self.total_completed_qty) + flt(kwargs.for_quantity)
+
def validate_docstatus(self):
if self.docstatus == 2:
frappe.throw(_("Cancelled Job Card cannot be processed."))
@@ -1533,6 +1630,8 @@ class JobCard(Document):
if flt(kwargs.pending_qty) and flt(kwargs.pending_qty) > self.for_quantity:
frappe.throw(_("Pending quantity cannot be greater than the for quantity."))
+ self.validate_completion_qty_split(kwargs)
+
self.pending_qty = flt(kwargs.pending_qty)
self.process_loss_qty = flt(kwargs.process_loss_qty)
@@ -1561,25 +1660,49 @@ class JobCard(Document):
_("Job Card {0} has been completed").format(get_link_to_form("Job Card", self.name))
)
+ def validate_completion_qty_split(self, kwargs):
+ if not flt(kwargs.for_quantity):
+ return
+
+ precision = self.precision("total_completed_qty")
+ accounted_qty = flt(
+ flt(kwargs.qty, precision)
+ + flt(kwargs.pending_qty, precision)
+ + flt(kwargs.process_loss_qty, precision)
+ )
+
+ if flt(accounted_qty, precision) == flt(kwargs.for_quantity, precision):
+ return
+
+ frappe.throw(
+ _(
+ "Completed Quantity ({0}), Pending Quantity ({1}) and Process Loss Quantity ({2}) must add up to the Qty to Manufacture ({3})."
+ ).format(
+ bold(self.get_qty_with_uom(kwargs.qty)),
+ bold(self.get_qty_with_uom(kwargs.pending_qty)),
+ bold(self.get_qty_with_uom(kwargs.process_loss_qty)),
+ bold(self.get_qty_with_uom(kwargs.for_quantity)),
+ )
+ )
+
+ def get_consumed_process_loss(self):
+ table = frappe.qb.DocType("Stock Entry")
+ query = (
+ frappe.qb.from_(table)
+ .select(Sum(table.process_loss_qty))
+ .where((table.purpose == "Manufacture") & (table.job_card == self.name) & (table.docstatus == 1))
+ )
+ return query.run()[0][0] or 0
+
@frappe.whitelist()
def make_stock_entry_for_semi_fg_item(self, auto_submit: bool = False):
- def get_consumed_process_loss():
- table = frappe.qb.DocType("Stock Entry")
- query = (
- frappe.qb.from_(table)
- .select(Sum(table.process_loss_qty))
- .where(
- (table.purpose == "Manufacture") & (table.job_card == self.name) & (table.docstatus == 1)
- )
- )
- return query.run()[0][0] or 0
-
from erpnext.stock.doctype.stock_entry_type.stock_entry_type import ManufactureEntry
+ consumed_process_loss = self.get_consumed_process_loss()
ste = ManufactureEntry(
{
- "for_quantity": self.for_quantity - self.manufactured_qty,
- "process_loss_qty": max(self.process_loss_qty - get_consumed_process_loss(), 0),
+ "for_quantity": self.get_qty_to_produce() - self.manufactured_qty - consumed_process_loss,
+ "process_loss_qty": max(self.process_loss_qty - consumed_process_loss, 0),
"job_card": self.name,
"skip_material_transfer": self.skip_material_transfer,
"backflush_from_wip_warehouse": self.backflush_from_wip_warehouse,
diff --git a/erpnext/manufacturing/doctype/job_card/test_job_card.py b/erpnext/manufacturing/doctype/job_card/test_job_card.py
index 826d558e830..c12710318bd 100644
--- a/erpnext/manufacturing/doctype/job_card/test_job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/test_job_card.py
@@ -11,6 +11,7 @@ from frappe.utils.data import add_to_date, now, today
from erpnext.manufacturing.doctype.job_card.job_card import (
JobCardOverTransferError,
OperationMismatchError,
+ OperationSequenceError,
OverlapError,
make_corrective_job_card,
make_material_request,
@@ -21,6 +22,7 @@ from erpnext.manufacturing.doctype.job_card.job_card import (
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
from erpnext.manufacturing.doctype.work_order.work_order import WorkOrder, make_work_order
from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation
+from erpnext.patches.v16_0.set_stock_uom_in_job_card import execute as set_stock_uom_in_job_card
from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.tests.utils import ERPNextTestSuite
@@ -359,6 +361,31 @@ class TestJobCard(ERPNextTestSuite):
# JC is Completed with excess transfer
self.assertEqual(job_card.status, "Completed")
+ def test_job_card_actions_blocked_until_material_transfer(self):
+ "Start and Complete must wait for the transfer when RMs move against Job Card."
+ self.transfer_material_against = "Job Card"
+ self.source_warehouse = "Stores - _TC"
+
+ self.generate_required_stock(self.work_order)
+ job_card = frappe.get_last_doc("Job Card", {"work_order": self.work_order.name})
+
+ self.assertRaises(frappe.ValidationError, job_card.start_timer, start_time=now())
+ self.assertRaises(frappe.ValidationError, job_card.complete_job_card, qty=2, for_quantity=2)
+
+ transfer_entry = make_stock_entry_from_jc(job_card.name)
+ transfer_entry.insert()
+ transfer_entry.submit()
+
+ job_card.reload()
+ job_card.append("time_logs", {"from_time": "2024-03-01 08:00:00"})
+ job_card.save()
+ job_card.complete_job_card(
+ qty=2, for_quantity=2, pending_qty=0, process_loss_qty=0, end_time="2024-03-01 09:00:00"
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.total_completed_qty), 2)
+
@ERPNextTestSuite.change_settings("Manufacturing Settings", {"job_card_excess_transfer": 0})
def test_job_card_excess_material_transfer_block(self):
self.transfer_material_against = "Job Card"
@@ -888,6 +915,123 @@ class TestJobCard(ERPNextTestSuite):
self.assertEqual(wo_doc.process_loss_qty, 2)
self.assertEqual(wo_doc.status, "Completed")
+ def get_first_job_card(self, work_order):
+ return frappe.get_doc(
+ "Job Card",
+ frappe.get_all(
+ "Job Card",
+ filters={"work_order": work_order},
+ order_by="sequence_id, creation",
+ limit=1,
+ pluck="name",
+ )[0],
+ )
+
+ def test_stock_uom_is_set_from_the_produced_item(self):
+ work_order = make_wo_order_test_record(item="_Test FG Item 2", qty=5)
+
+ job_card = self.get_first_job_card(work_order.name)
+ item_code = job_card.finished_good or job_card.production_item
+
+ self.assertEqual(job_card.stock_uom, frappe.db.get_value("Item", item_code, "stock_uom"))
+
+ def test_stock_uom_patch_backfills_legacy_job_cards(self):
+ suffix = random_string(8)
+ finished_good = create_item(f"Stock UOM Patch FG {suffix}", stock_uom="Kg")
+ production_item = create_item(f"Stock UOM Patch Product {suffix}", stock_uom="Nos")
+
+ finished_good_job_card = self.get_first_job_card(
+ make_wo_order_test_record(item="_Test FG Item 2", qty=5).name
+ )
+ production_item_job_card = self.get_first_job_card(
+ make_wo_order_test_record(item="_Test FG Item 2", qty=6).name
+ )
+
+ frappe.db.set_value(
+ "Job Card",
+ finished_good_job_card.name,
+ {
+ "finished_good": finished_good.name,
+ "production_item": production_item.name,
+ "stock_uom": None,
+ },
+ update_modified=False,
+ )
+ frappe.db.set_value(
+ "Job Card",
+ production_item_job_card.name,
+ {"finished_good": None, "production_item": production_item.name, "stock_uom": None},
+ update_modified=False,
+ )
+
+ set_stock_uom_in_job_card()
+
+ self.assertEqual(frappe.db.get_value("Job Card", finished_good_job_card.name, "stock_uom"), "Kg")
+ self.assertEqual(frappe.db.get_value("Job Card", production_item_job_card.name, "stock_uom"), "Nos")
+
+ frappe.db.set_value(
+ "Job Card", finished_good_job_card.name, "stock_uom", "Nos", update_modified=False
+ )
+ set_stock_uom_in_job_card()
+
+ self.assertEqual(frappe.db.get_value("Job Card", finished_good_job_card.name, "stock_uom"), "Nos")
+
+ def test_completion_qty_reduces_for_quantity_without_process_loss(self):
+ work_order = make_wo_order_test_record(item="_Test FG Item 2", qty=5)
+
+ job_card = self.get_first_job_card(work_order.name)
+ job_card.append("time_logs", {"from_time": "2024-03-01 08:00:00"})
+ job_card.save()
+
+ job_card.complete_job_card(
+ qty=3,
+ for_quantity=3,
+ pending_qty=0,
+ process_loss_qty=0,
+ end_time="2024-03-01 09:00:00",
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.for_quantity), 3)
+ self.assertEqual(flt(job_card.total_completed_qty), 3)
+ self.assertEqual(flt(job_card.process_loss_qty), 0)
+
+ def test_completion_qty_keeps_for_quantity_across_cycles(self):
+ work_order = make_wo_order_test_record(item="_Test FG Item 2", qty=5)
+
+ job_card = self.get_first_job_card(work_order.name)
+ job_card.append("time_logs", {"from_time": "2024-03-02 08:00:00"})
+ job_card.save()
+
+ job_card.complete_job_card(
+ qty=3,
+ for_quantity=5,
+ pending_qty=2,
+ process_loss_qty=0,
+ end_time="2024-03-02 09:00:00",
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.for_quantity), 5)
+ self.assertEqual(flt(job_card.pending_qty), 2)
+ self.assertEqual(flt(job_card.process_loss_qty), 0)
+
+ job_card.append("time_logs", {"from_time": "2024-03-02 10:00:00"})
+ job_card.save()
+
+ job_card.complete_job_card(
+ qty=2,
+ for_quantity=2,
+ pending_qty=0,
+ process_loss_qty=0,
+ end_time="2024-03-02 11:00:00",
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.for_quantity), 5)
+ self.assertEqual(flt(job_card.total_completed_qty), 5)
+ self.assertEqual(flt(job_card.process_loss_qty), 0)
+
def test_op_cost_calculation(self):
from erpnext.manufacturing.doctype.routing.test_routing import (
create_routing,
@@ -1265,6 +1409,440 @@ class TestJobCard(ERPNextTestSuite):
8,
)
+ def test_semi_fg_process_loss_rolls_up_to_work_order(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm = make_item("Process Loss Rollup RM 1", {"is_stock_item": 1}).name
+ fg = make_item("Process Loss Rollup FG 1", {"is_stock_item": 1}).name
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+ fg_bom.append("items", {"item_code": rm, "qty": 1, "operation_row_id": 1})
+
+ operation = {
+ "operation": "Process Loss Rollup Op A",
+ "workstation": "_Test Workstation A",
+ "finished_good": fg,
+ "finished_good_qty": 1,
+ "is_final_finished_good": 1,
+ "sequence_id": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+
+ make_workstation(operation)
+ make_operation(operation)
+ fg_bom.append("operations", operation)
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg,
+ qty=10,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ do_not_save=True,
+ )
+ work_order.operations[0].time_in_mins = 60
+ work_order.save()
+ work_order.submit()
+
+ make_stock_entry(item_code=rm, target=warehouse, qty=100, basic_rate=100)
+
+ job_card = frappe.get_doc(
+ "Job Card",
+ frappe.get_all(
+ "Job Card",
+ filters={"work_order": work_order.name},
+ order_by="sequence_id, creation",
+ limit=1,
+ pluck="name",
+ )[0],
+ )
+ job_card.append("time_logs", {"from_time": "2024-05-01 08:00:00"})
+ job_card.save()
+
+ job_card.complete_job_card(
+ qty=8,
+ for_quantity=10,
+ pending_qty=0,
+ process_loss_qty=2,
+ end_time="2024-05-01 09:00:00",
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.process_loss_qty), 2)
+
+ job_card.submit()
+ frappe.get_doc(job_card.make_stock_entry_for_semi_fg_item()).submit()
+
+ self.assertEqual(
+ flt(
+ frappe.db.get_value("Work Order Operation", work_order.operations[0].name, "process_loss_qty")
+ ),
+ 2,
+ )
+
+ work_order.reload()
+ self.assertEqual(flt(work_order.produced_qty), 8)
+ self.assertEqual(flt(work_order.process_loss_qty), 2)
+ self.assertEqual(work_order.status, "Completed")
+
+ def test_semi_fg_process_loss_of_an_intermediate_operation_rolls_up_to_work_order(self):
+ """Loss booked by an earlier operation shrinks what the final operation can produce,
+ so it has to show up on the work order even though the final operation loses nothing."""
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm = make_item("Intermediate Loss RM 1", {"is_stock_item": 1}).name
+ sfg = make_item("Intermediate Loss SFG 1", {"is_stock_item": 1}).name
+ fg = make_item("Intermediate Loss FG 1", {"is_stock_item": 1}).name
+
+ sfg_bom = frappe.new_doc("BOM", company="_Test Company", item=sfg, quantity=1)
+ sfg_bom.append("items", {"item_code": rm, "qty": 1})
+ sfg_bom.insert()
+ sfg_bom.submit()
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+
+ operations = [
+ {
+ "operation": "Intermediate Loss Op A",
+ "finished_good": sfg,
+ "bom_no": sfg_bom.name,
+ "sequence_id": 1,
+ },
+ {
+ "operation": "Intermediate Loss Op B",
+ "finished_good": fg,
+ "is_final_finished_good": 1,
+ "sequence_id": 2,
+ },
+ ]
+
+ for row in operations:
+ row.update(
+ {
+ "workstation": "_Test Workstation A",
+ "finished_good_qty": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ )
+ make_workstation(row)
+ make_operation(row)
+ fg_bom.append("operations", row)
+
+ fg_bom.append("items", {"item_code": sfg, "qty": 1, "operation_row_id": 2})
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg,
+ qty=10,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ do_not_save=True,
+ )
+ for row in work_order.operations:
+ row.time_in_mins = 60
+ work_order.save()
+ work_order.submit()
+
+ make_stock_entry(item_code=rm, target=warehouse, qty=100, basic_rate=100)
+
+ def get_job_card(operation):
+ return frappe.get_doc(
+ "Job Card",
+ frappe.db.get_value(
+ "Job Card",
+ {"work_order": work_order.name, "operation": operation, "docstatus": 0},
+ "name",
+ ),
+ )
+
+ jc_a = get_job_card("Intermediate Loss Op A")
+ jc_a.append("time_logs", {"from_time": "2024-06-01 08:00:00"})
+ jc_a.save()
+ jc_a.complete_job_card(
+ qty=8, for_quantity=10, pending_qty=0, process_loss_qty=2, end_time="2024-06-01 09:00:00"
+ )
+ jc_a.reload()
+ jc_a.submit()
+ frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item()).submit()
+
+ work_order.reload()
+ self.assertEqual(flt(work_order.process_loss_qty), 2)
+
+ jc_b = get_job_card("Intermediate Loss Op B")
+ jc_b.for_quantity = 8
+ for row in jc_b.items:
+ row.required_qty = 8
+ jc_b.append(
+ "time_logs",
+ {"from_time": "2024-06-02 08:00:00", "to_time": "2024-06-02 09:00:00", "completed_qty": 8},
+ )
+ jc_b.save()
+ jc_b.submit()
+ frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item()).submit()
+
+ work_order.reload()
+ self.assertEqual(flt(work_order.produced_qty), 8)
+ self.assertEqual(flt(work_order.process_loss_qty), 2)
+ self.assertEqual(work_order.status, "Completed")
+
+ def test_semi_fg_pending_qty_is_left_to_another_job_card(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm = make_item("Pending Qty RM 1", {"is_stock_item": 1}).name
+ fg = make_item("Pending Qty FG 1", {"is_stock_item": 1}).name
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+ fg_bom.append("items", {"item_code": rm, "qty": 1, "operation_row_id": 1})
+
+ operation = {
+ "operation": "Pending Qty Op A",
+ "workstation": "_Test Workstation A",
+ "finished_good": fg,
+ "finished_good_qty": 1,
+ "is_final_finished_good": 1,
+ "sequence_id": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+
+ make_workstation(operation)
+ make_operation(operation)
+ fg_bom.append("operations", operation)
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg,
+ qty=5,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ do_not_save=True,
+ )
+ work_order.operations[0].time_in_mins = 60
+ work_order.save()
+ work_order.submit()
+
+ make_stock_entry(item_code=rm, target=warehouse, qty=100, basic_rate=100)
+
+ job_card = frappe.get_doc(
+ "Job Card",
+ frappe.get_all(
+ "Job Card",
+ filters={"work_order": work_order.name},
+ order_by="sequence_id, creation",
+ limit=1,
+ pluck="name",
+ )[0],
+ )
+ job_card.append("time_logs", {"from_time": "2024-04-01 08:00:00"})
+ job_card.save()
+
+ job_card.complete_job_card(
+ qty=3,
+ for_quantity=5,
+ pending_qty=2,
+ process_loss_qty=0,
+ end_time="2024-04-01 09:00:00",
+ )
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.for_quantity), 5)
+ self.assertEqual(flt(job_card.pending_qty), 2)
+ self.assertEqual(flt(job_card.process_loss_qty), 0)
+
+ job_card.submit()
+ self.assertEqual(job_card.status, "Work In Progress")
+
+ manufacturing_entry = frappe.get_doc(job_card.make_stock_entry_for_semi_fg_item())
+ finished_item = next(row for row in manufacturing_entry.items if row.is_finished_item)
+ self.assertEqual(flt(finished_item.qty), 3)
+ manufacturing_entry.submit()
+
+ job_card.reload()
+ self.assertEqual(flt(job_card.manufactured_qty), 3)
+ self.assertEqual(job_card.status, "Completed")
+
+ def test_semi_fg_sequence_needs_previous_operations_manufactured(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm1 = make_item("Sequence Check RM 1", {"is_stock_item": 1}).name
+ rm2 = make_item("Sequence Check RM 2", {"is_stock_item": 1}).name
+ sfg1 = make_item("Sequence Check SFG 1", {"is_stock_item": 1}).name
+ sfg2 = make_item("Sequence Check SFG 2", {"is_stock_item": 1}).name
+ fg = make_item("Sequence Check FG 1", {"is_stock_item": 1}).name
+
+ semi_fg_boms = {}
+ for semi_fg_item, raw_material in ((sfg1, rm1), (sfg2, rm2)):
+ bom = frappe.new_doc("BOM", company="_Test Company", item=semi_fg_item, quantity=1)
+ bom.append("items", {"item_code": raw_material, "qty": 1})
+ bom.insert()
+ bom.submit()
+ semi_fg_boms[semi_fg_item] = bom.name
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+
+ operations = [
+ {
+ "operation": "Sequence Check Op A",
+ "finished_good": sfg1,
+ "bom_no": semi_fg_boms[sfg1],
+ "sequence_id": 1,
+ },
+ {
+ "operation": "Sequence Check Op B",
+ "finished_good": sfg2,
+ "bom_no": semi_fg_boms[sfg2],
+ "sequence_id": 1,
+ },
+ {
+ "operation": "Sequence Check Op C",
+ "finished_good": fg,
+ "is_final_finished_good": 1,
+ "sequence_id": 2,
+ },
+ ]
+
+ for row in operations:
+ row.update(
+ {
+ "workstation": "_Test Workstation A",
+ "finished_good_qty": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ )
+
+ make_workstation(row)
+ make_operation(row)
+ fg_bom.append("operations", row)
+
+ fg_bom.append("items", {"item_code": sfg1, "qty": 1, "operation_row_id": 3})
+ fg_bom.append("items", {"item_code": sfg2, "qty": 1, "operation_row_id": 3})
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg,
+ qty=5,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ do_not_save=True,
+ )
+
+ for row in work_order.operations:
+ row.time_in_mins = 60
+
+ work_order.save()
+ work_order.submit()
+
+ make_stock_entry(item_code=rm1, target=warehouse, qty=10, basic_rate=100)
+ make_stock_entry(item_code=rm2, target=warehouse, qty=10, basic_rate=100)
+
+ def get_job_card(operation):
+ return frappe.get_doc(
+ "Job Card",
+ frappe.db.get_value(
+ "Job Card",
+ {"work_order": work_order.name, "operation": operation, "docstatus": 0},
+ "name",
+ ),
+ )
+
+ def add_time_log(job_card, day, qty):
+ job_card.append(
+ "time_logs",
+ {
+ "from_time": f"2024-01-{day} 08:00:00",
+ "to_time": f"2024-01-{day} 09:00:00",
+ "completed_qty": qty,
+ },
+ )
+
+ jc_a = get_job_card("Sequence Check Op A")
+ jc_a.for_quantity = 3
+ add_time_log(jc_a, "01", 3)
+ jc_a.submit()
+
+ jc_b = get_job_card("Sequence Check Op B")
+ add_time_log(jc_b, "02", jc_b.for_quantity)
+ jc_b.submit()
+ frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item()).submit()
+
+ jc_c = get_job_card("Sequence Check Op C")
+ jc_c.for_quantity = 3
+ add_time_log(jc_c, "03", 3)
+ self.assertRaises(OperationSequenceError, jc_c.save)
+
+ frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item()).submit()
+
+ jc_c.reload()
+ jc_c.for_quantity = 4
+ add_time_log(jc_c, "03", 4)
+ self.assertRaises(OperationSequenceError, jc_c.save)
+
+ jc_c.reload()
+ jc_c.for_quantity = 3
+ add_time_log(jc_c, "03", 3)
+ jc_c.submit()
+
+ self.assertEqual(jc_c.docstatus, 1)
+
def test_semi_fg_batch_auto_pull_on_manufacture(self):
from erpnext.manufacturing.doctype.operation.test_operation import make_operation
from erpnext.stock.doctype.item.test_item import make_item
@@ -1402,6 +1980,299 @@ class TestJobCard(ERPNextTestSuite):
consumed_batches = get_batches_from_bundle(sfg_consume_row.serial_and_batch_bundle)
self.assertEqual(set(consumed_batches.keys()), set(produced_batches.keys()))
+ def test_manufacture_entry_process_loss_not_taken_from_previous_operation(self):
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm1 = make_item("PL Scope RM 1", {"is_stock_item": 1}).name
+ rm2 = make_item("PL Scope RM 2", {"is_stock_item": 1}).name
+ sfg = make_item("PL Scope SFG 1", {"is_stock_item": 1}).name
+ fg1 = make_item("PL Scope FG 1", {"is_stock_item": 1}).name
+
+ sfg_bom = frappe.new_doc("BOM", company="_Test Company", item=sfg, quantity=1)
+ sfg_bom.append("items", {"item_code": rm1, "qty": 1})
+ sfg_bom.insert()
+ sfg_bom.submit()
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg1,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+ operation1 = {
+ "operation": "PL Scope Op A",
+ "workstation": "_Test Workstation A",
+ "finished_good": sfg,
+ "bom_no": sfg_bom.name,
+ "finished_good_qty": 1,
+ "sequence_id": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ operation2 = {
+ "operation": "PL Scope Op B",
+ "workstation": "_Test Workstation A",
+ "finished_good": fg1,
+ "finished_good_qty": 1,
+ "is_final_finished_good": 1,
+ "sequence_id": 2,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ make_workstation(operation1)
+ make_operation(operation1)
+ make_operation(operation2)
+ fg_bom.append("operations", operation1)
+ fg_bom.append("operations", operation2)
+ fg_bom.append("items", {"item_code": rm2, "qty": 1})
+ fg_bom.append("items", {"item_code": sfg, "qty": 1, "operation_row_id": 2})
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg1,
+ qty=5,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ )
+
+ make_stock_entry(item_code=rm1, target=warehouse, qty=10, basic_rate=100)
+ make_stock_entry(item_code=rm2, target=warehouse, qty=10, basic_rate=100)
+ make_stock_entry(item_code=sfg, target=warehouse, qty=10, basic_rate=100)
+
+ jc_a = frappe.get_doc(
+ "Job Card",
+ frappe.db.get_value(
+ "Job Card", {"work_order": work_order.name, "operation": "PL Scope Op A"}, "name"
+ ),
+ )
+ jc_a.append(
+ "time_logs",
+ {"from_time": "2024-01-01 08:00:00", "to_time": "2024-01-01 09:00:00", "completed_qty": 3},
+ )
+ jc_a.pending_qty = 0
+ jc_a.process_loss_qty = 2
+ jc_a.submit()
+ me_a = frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item())
+ me_a.submit()
+ self.assertEqual(flt(me_a.process_loss_qty), 2.0)
+
+ jc_b = frappe.get_doc(
+ "Job Card",
+ frappe.db.get_value(
+ "Job Card", {"work_order": work_order.name, "operation": "PL Scope Op B"}, "name"
+ ),
+ )
+ jc_b.append(
+ "time_logs",
+ {"from_time": "2024-02-01 08:00:00", "to_time": "2024-02-01 09:00:00", "completed_qty": 3},
+ )
+ jc_b.pending_qty = 2
+ jc_b.submit()
+ me_b = frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item())
+
+ # operation A's loss must not leak into operation B's entry
+ self.assertEqual(flt(me_b.process_loss_qty), 0.0)
+ fg_row = next(row for row in me_b.items if row.is_finished_item)
+ self.assertEqual(flt(fg_row.qty), 3.0)
+ me_b.submit()
+
+ def make_semi_fg_work_order(self, prefix, qty=5):
+ """Two-operation semi FG work order: Op A makes the SFG from RM 1, final Op B
+ consumes it. Both operations skip material transfer; stock is pre-seeded."""
+ from erpnext.manufacturing.doctype.operation.test_operation import make_operation
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ warehouse = "Stores - _TC"
+ rm1 = make_item(f"{prefix} RM 1", {"is_stock_item": 1}).name
+ rm2 = make_item(f"{prefix} RM 2", {"is_stock_item": 1}).name
+ sfg = make_item(f"{prefix} SFG 1", {"is_stock_item": 1}).name
+ fg1 = make_item(f"{prefix} FG 1", {"is_stock_item": 1}).name
+
+ sfg_bom = frappe.new_doc("BOM", company="_Test Company", item=sfg, quantity=1)
+ sfg_bom.append("items", {"item_code": rm1, "qty": 1})
+ sfg_bom.insert()
+ sfg_bom.submit()
+
+ fg_bom = frappe.new_doc(
+ "BOM",
+ company="_Test Company",
+ item=fg1,
+ quantity=1,
+ with_operations=1,
+ track_semi_finished_goods=1,
+ )
+ operation1 = {
+ "operation": f"{prefix} Op A",
+ "workstation": "_Test Workstation A",
+ "finished_good": sfg,
+ "bom_no": sfg_bom.name,
+ "finished_good_qty": 1,
+ "sequence_id": 1,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ operation2 = {
+ "operation": f"{prefix} Op B",
+ "workstation": "_Test Workstation A",
+ "finished_good": fg1,
+ "finished_good_qty": 1,
+ "is_final_finished_good": 1,
+ "sequence_id": 2,
+ "time_in_mins": 60,
+ "source_warehouse": warehouse,
+ "fg_warehouse": warehouse,
+ "skip_material_transfer": 1,
+ }
+ make_workstation(operation1)
+ make_operation(operation1)
+ make_operation(operation2)
+ fg_bom.append("operations", operation1)
+ fg_bom.append("operations", operation2)
+ fg_bom.append("items", {"item_code": rm2, "qty": 1})
+ fg_bom.append("items", {"item_code": sfg, "qty": 1, "operation_row_id": 2})
+ fg_bom.insert()
+ fg_bom.submit()
+
+ work_order = make_wo_order_test_record(
+ item=fg1,
+ qty=qty,
+ source_warehouse=warehouse,
+ fg_warehouse=warehouse,
+ bom_no=fg_bom.name,
+ skip_transfer=1,
+ )
+
+ for item_code in (rm1, rm2, sfg):
+ make_stock_entry(item_code=item_code, target=warehouse, qty=10, basic_rate=100)
+
+ return work_order
+
+ def get_semi_fg_job_card(self, work_order, operation):
+ return frappe.get_doc(
+ "Job Card",
+ frappe.db.get_value("Job Card", {"work_order": work_order.name, "operation": operation}, "name"),
+ )
+
+ def test_partial_manufacture_entry_then_finish(self):
+ work_order = self.make_semi_fg_work_order("PL Partial")
+
+ jc_a = self.get_semi_fg_job_card(work_order, "PL Partial Op A")
+ jc_a.append(
+ "time_logs",
+ {"from_time": "2024-01-01 08:00:00", "to_time": "2024-01-01 09:00:00", "completed_qty": 5},
+ )
+ jc_a.submit()
+ frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item()).submit()
+
+ jc_b = self.get_semi_fg_job_card(work_order, "PL Partial Op B")
+ jc_b.append(
+ "time_logs",
+ {"from_time": "2024-02-01 08:00:00", "to_time": "2024-02-01 09:00:00", "completed_qty": 3},
+ )
+ jc_b.pending_qty = 0
+ jc_b.process_loss_qty = 2
+ jc_b.submit()
+
+ # book 1 of the 3 finished units now; the full process loss goes with this first entry,
+ # so it accounts for 3 of 5 and its materials are trimmed to the same share
+ first = frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item())
+ fg_row = next(row for row in first.items if row.is_finished_item)
+ fg_row.qty = 1
+ for row in first.items:
+ if row.s_warehouse and not row.is_finished_item:
+ row.qty = flt(row.qty) * 3 / 5
+ first.save()
+ first.submit()
+
+ # the follow-up entry must be generated net of the already-booked loss and still submit
+ jc_b.reload()
+ second = frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item())
+ fg_row = next(row for row in second.items if row.is_finished_item)
+ self.assertEqual(flt(fg_row.qty), 2.0)
+ self.assertEqual(flt(second.process_loss_qty), 0.0)
+ second.submit()
+
+ jc_b.reload()
+ self.assertEqual(flt(jc_b.manufactured_qty), 3.0)
+
+ # across both entries, consumption adds up to the job card's requirement of 5, no more
+ consumed = frappe.get_all(
+ "Stock Entry Detail",
+ filters={"parent": ["in", [first.name, second.name]], "s_warehouse": ["is", "set"]},
+ fields=["item_code", {"SUM": "qty", "as": "qty"}],
+ group_by="item_code",
+ )
+ self.assertTrue(consumed)
+ for row in consumed:
+ self.assertEqual(flt(row.qty), 5.0, f"{row.item_code} mis-consumed across partial entries")
+
+ def test_update_after_submit_keeps_manufacture_entry_intact(self):
+ work_order = self.make_semi_fg_work_order("PL Update")
+
+ jc_a = self.get_semi_fg_job_card(work_order, "PL Update Op A")
+ jc_a.append(
+ "time_logs",
+ {"from_time": "2024-01-01 08:00:00", "to_time": "2024-01-01 09:00:00", "completed_qty": 3},
+ )
+ jc_a.pending_qty = 0
+ jc_a.process_loss_qty = 2
+ jc_a.submit()
+
+ entry = frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item())
+ entry.submit()
+
+ if not frappe.db.exists("Print Heading", "_Test SFG Heading"):
+ frappe.get_doc({"doctype": "Print Heading", "print_heading": "_Test SFG Heading"}).insert()
+
+ entry.reload()
+ entry.select_print_heading = "_Test SFG Heading"
+ entry.save()
+
+ entry.reload()
+ self.assertEqual(flt(entry.process_loss_qty), 2.0)
+
+ def test_stale_manufacture_draft_cannot_over_produce_without_operation_bom(self):
+ work_order = self.make_semi_fg_work_order("PL NoBom")
+
+ jc_a = self.get_semi_fg_job_card(work_order, "PL NoBom Op A")
+ jc_a.append(
+ "time_logs",
+ {"from_time": "2024-01-01 08:00:00", "to_time": "2024-01-01 09:00:00", "completed_qty": 5},
+ )
+ jc_a.submit()
+ frappe.get_doc(jc_a.make_stock_entry_for_semi_fg_item()).submit()
+
+ # Op B has no operation BOM, so its entries carry no For Quantity to validate against
+ jc_b = self.get_semi_fg_job_card(work_order, "PL NoBom Op B")
+ jc_b.append(
+ "time_logs",
+ {"from_time": "2024-02-01 08:00:00", "to_time": "2024-02-01 09:00:00", "completed_qty": 3},
+ )
+ jc_b.pending_qty = 0
+ jc_b.process_loss_qty = 2
+ jc_b.submit()
+
+ draft_one = frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item())
+ draft_two = frappe.get_doc(jc_b.make_stock_entry_for_semi_fg_item())
+
+ draft_one.submit()
+
+ stale = frappe.get_doc("Stock Entry", draft_two.name)
+ self.assertRaises(frappe.ValidationError, stale.submit)
+
def test_semi_fg_auto_pull_with_uom_conversion(self):
from erpnext.manufacturing.doctype.operation.test_operation import make_operation
from erpnext.stock.doctype.item.test_item import make_item
@@ -1817,6 +2688,54 @@ class TestJobCard(ERPNextTestSuite):
self.assertEqual(s.additional_costs[2].amount, 480)
self.assertEqual(s.additional_costs[3].amount, 480)
+ def test_semi_fg_job_card_is_exempt_from_transfer_qty_check(self):
+ jc = frappe.new_doc("Job Card")
+ jc.track_semi_finished_goods = 1
+ jc.skip_material_transfer = 1
+ jc.for_quantity = 10
+ jc.transferred_qty = 0
+ jc.append("items", {"item_code": "_Test Item"})
+
+ jc.validate_transfer_qty()
+
+ # with transfer enabled, a legacy card without an FG item keeps the strict check
+ jc.skip_material_transfer = 0
+ self.assertRaises(frappe.ValidationError, jc.validate_transfer_qty)
+
+ jc.finished_good = "_Test Item"
+ jc.validate_transfer_qty()
+
+ jc.finished_good = None
+ jc.track_semi_finished_goods = 0
+ self.assertRaises(frappe.ValidationError, jc.validate_transfer_qty)
+
+ def test_qty_in_messages_carries_the_uom(self):
+ jc = frappe.new_doc("Job Card")
+ jc.stock_uom = "Nos"
+
+ self.assertEqual(jc.get_qty_with_uom(5), "5.0 Nos")
+ self.assertEqual(jc.get_qty_with_uom(0), "0.0 Nos")
+
+ def test_completion_qty_split_must_add_up(self):
+ jc = frappe.new_doc("Job Card")
+ jc.for_quantity = 5
+
+ jc.validate_completion_qty_split(
+ frappe._dict(for_quantity=5, qty=3, pending_qty=2, process_loss_qty=0)
+ )
+
+ self.assertRaises(
+ frappe.ValidationError,
+ jc.validate_completion_qty_split,
+ frappe._dict(for_quantity=3, qty=3, pending_qty=2, process_loss_qty=0),
+ )
+
+ self.assertRaises(
+ frappe.ValidationError,
+ jc.validate_completion_qty_split,
+ frappe._dict(for_quantity=1, qty=0.3334, pending_qty=0.3334, process_loss_qty=0.3334),
+ )
+
def create_bom_with_multiple_operations():
"Create a BOM with multiple operations and Material Transfer against Job Card"
diff --git a/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json b/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
index 8bc37d2e02d..088338b4f2d 100644
--- a/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
+++ b/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
@@ -193,6 +193,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -266,7 +267,7 @@
"grid_page_length": 50,
"istable": 1,
"links": [],
- "modified": "2025-10-30 17:01:25.996352",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Material Request Plan Item",
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py
index 97072a8642f..a9aaedc8894 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py
@@ -1478,8 +1478,6 @@ def get_material_request_items(
)
)
- required_qty = required_qty / row["conversion_factor"]
-
if frappe.db.get_value("UOM", row["purchase_uom"], "must_be_whole_number"):
required_qty = ceil(required_qty)
@@ -1498,10 +1496,11 @@ def get_material_request_items(
get_conversion_factor(row.item_code, item_details.purchase_uom).get("conversion_factor") or 1.0
)
+ precision = frappe.get_precision("Material Request Plan Item", "quantity")
return {
"item_code": row.item_code,
"item_name": row.item_name,
- "quantity": required_qty / conversion_factor,
+ "quantity": flt(required_qty / conversion_factor, precision),
"conversion_factor": conversion_factor,
"required_bom_qty": row.get("qty"),
"stock_uom": row.get("stock_uom"),
@@ -1910,7 +1909,7 @@ def get_materials_from_other_locations(
if frappe.db.get_value("UOM", purchase_uom, "must_be_whole_number"):
required_qty = ceil(required_qty)
- item["quantity"] = required_qty / item.get("conversion_factor")
+ item["quantity"] = flt(required_qty / item.get("conversion_factor"), precision)
new_mr_items.append(item)
diff --git a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
index 1aeb36fe536..4c72c68f69f 100644
--- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
@@ -1366,6 +1366,29 @@ class TestProductionPlan(ERPNextTestSuite):
self.assertEqual(row.uom, "Nos")
self.assertEqual(row.qty, 1)
+ def test_material_request_item_quantity_rounded_to_precision(self):
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ fg_item = make_item(properties={"is_stock_item": 1, "stock_uom": "_Test UOM 1"}).name
+ bom_item = make_item(
+ properties={"is_stock_item": 1, "stock_uom": "_Test UOM 1", "purchase_uom": "Nos"}
+ ).name
+
+ if not frappe.db.exists("UOM Conversion Detail", {"parent": bom_item, "uom": "Nos"}):
+ doc = frappe.get_doc("Item", bom_item)
+ doc.append("uoms", {"uom": "Nos", "conversion_factor": 3})
+ doc.save()
+
+ make_bom(item=fg_item, raw_materials=[bom_item], source_warehouse="_Test Warehouse - _TC")
+
+ pln = create_production_plan(
+ item_code=fg_item, planned_qty=10, ignore_existing_ordered_qty=1, stock_uom="_Test UOM 1"
+ )
+
+ precision = frappe.get_precision("Material Request Plan Item", "quantity")
+ self.assertEqual(len(pln.mr_items), 1)
+ self.assertEqual(pln.mr_items[0].quantity, flt(10 / 3, precision))
+
def test_material_request_for_sub_assembly_items(self):
from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
@@ -2079,6 +2102,40 @@ class TestProductionPlan(ERPNextTestSuite):
self.assertEqual(row.get("uom"), "Nos")
self.assertEqual(row.get("conversion_factor"), 10.0)
+ def test_remaining_purchase_qty_rounded_to_precision(self):
+ from erpnext.stock.doctype.item.test_item import make_item
+ from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
+
+ fg_item = make_item(properties={"is_stock_item": 1, "stock_uom": "_Test UOM 1"}).name
+ bom_item = make_item(
+ properties={"is_stock_item": 1, "stock_uom": "_Test UOM 1", "purchase_uom": "Nos"}
+ ).name
+
+ store_warehouse = create_warehouse("Store Warehouse", company="_Test Company")
+ rm_warehouse = create_warehouse("RM Warehouse", company="_Test Company")
+
+ make_stock_entry(item_code=bom_item, qty=4, target=store_warehouse, rate=100)
+
+ if not frappe.db.exists("UOM Conversion Detail", {"parent": bom_item, "uom": "Nos"}):
+ doc = frappe.get_doc("Item", bom_item)
+ doc.append("uoms", {"uom": "Nos", "conversion_factor": 3})
+ doc.save()
+
+ make_bom(item=fg_item, raw_materials=[bom_item], source_warehouse="_Test Warehouse - _TC")
+
+ pln = create_production_plan(
+ item_code=fg_item, planned_qty=30, stock_uom="_Test UOM 1", do_not_submit=1
+ )
+ pln.for_warehouse = rm_warehouse
+ pln.ignore_existing_ordered_qty = 1
+ items = get_items_for_material_requests(pln.as_dict(), warehouses=[{"warehouse": store_warehouse}])
+
+ rows_by_type = {row.get("material_request_type"): row for row in items}
+ self.assertEqual(rows_by_type["Material Transfer"].get("quantity"), 4)
+
+ precision = frappe.get_precision("Material Request Plan Item", "quantity")
+ self.assertEqual(rows_by_type["Purchase"].get("quantity"), flt(26 / 3, precision))
+
def test_unreserve_qty_on_closing_of_pp(self):
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
from erpnext.stock.utils import get_or_make_bin
diff --git a/erpnext/manufacturing/doctype/work_order/test_work_order.py b/erpnext/manufacturing/doctype/work_order/test_work_order.py
index fb2e49ed571..18bd6ff7998 100644
--- a/erpnext/manufacturing/doctype/work_order/test_work_order.py
+++ b/erpnext/manufacturing/doctype/work_order/test_work_order.py
@@ -4839,6 +4839,24 @@ class TestWorkOrder(ERPNextTestSuite):
# generated qty (3.0 for 8 units) differs from the BOM-scaled qty (7.5 for 20 units)
self.assertEqual(flt(row.qty, 6), 3.0)
+ def test_wip_warehouse_required_when_tracking_semi_finished_goods(self):
+ wo = frappe.new_doc("Work Order")
+ wo.track_semi_finished_goods = 1
+ wo.skip_transfer = 0
+ wo.fg_warehouse = "_Test Warehouse 1 - _TC"
+
+ self.assertRaises(frappe.ValidationError, wo.validate_warehouse)
+
+ wo.wip_warehouse = "_Test Warehouse - _TC"
+ wo.validate_warehouse()
+
+ # the top-level target warehouse stays optional; operations may carry their own
+ wo.fg_warehouse = None
+ wo.validate_warehouse()
+
+ wo.track_semi_finished_goods = 0
+ self.assertRaises(frappe.ValidationError, wo.validate_warehouse)
+
def get_reserved_entries(voucher_no, warehouse=None):
doctype = frappe.qb.DocType("Stock Reservation Entry")
diff --git a/erpnext/manufacturing/doctype/work_order/work_order.json b/erpnext/manufacturing/doctype/work_order/work_order.json
index 04b970be3e1..cfe140726df 100644
--- a/erpnext/manufacturing/doctype/work_order/work_order.json
+++ b/erpnext/manufacturing/doctype/work_order/work_order.json
@@ -272,7 +272,7 @@
"fieldtype": "Link",
"label": "Work-in-Progress Warehouse",
"link_filters": "[[\"Warehouse\",\"disabled\",\"=\",0],[\"Warehouse\",\"is_group\",\"=\",0]]",
- "mandatory_depends_on": "eval:(!doc.skip_transfer || doc.from_wip_warehouse) && !doc.track_semi_finished_goods",
+ "mandatory_depends_on": "eval:!doc.skip_transfer || doc.from_wip_warehouse",
"options": "Warehouse"
},
{
@@ -739,7 +739,7 @@
"image_field": "image",
"is_submittable": 1,
"links": [],
- "modified": "2026-06-03 21:35:34.175667",
+ "modified": "2026-08-08 12:00:00.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Work Order",
diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py
index eecf06b15c4..2af7497564b 100644
--- a/erpnext/manufacturing/doctype/work_order/work_order.py
+++ b/erpnext/manufacturing/doctype/work_order/work_order.py
@@ -883,6 +883,12 @@ class WorkOrder(Document):
return flt(query.run()[0][0])
def set_process_loss_qty(self):
+ self.db_set("process_loss_qty", self._process_loss_qty())
+
+ def _process_loss_qty(self):
+ if self.track_semi_finished_goods:
+ return flt(sum(flt(row.process_loss_qty) for row in self.operations))
+
table = frappe.qb.DocType("Stock Entry")
process_loss_qty = (
frappe.qb.from_(table)
@@ -892,7 +898,7 @@ class WorkOrder(Document):
)
).run()[0][0]
- self.db_set("process_loss_qty", flt(process_loss_qty))
+ return flt(process_loss_qty)
def update_production_plan_status(self):
production_plan = frappe.get_doc("Production Plan", self.production_plan)
@@ -915,12 +921,9 @@ class WorkOrder(Document):
production_plan.run_method("update_produced_pending_qty", produced_qty, self.production_plan_item)
def validate_warehouse(self):
- if self.track_semi_finished_goods:
- return
-
if not self.wip_warehouse and not self.skip_transfer:
frappe.throw(_("Work-in-Progress Warehouse is required before Submit"))
- if not self.fg_warehouse:
+ if not self.fg_warehouse and not self.track_semi_finished_goods:
frappe.throw(_("Target Warehouse is required before Submit"))
def before_submit(self):
@@ -2822,6 +2825,7 @@ def get_operation_details(name, work_order, parent_bom):
for row in work_order.operations:
if row.name == name:
return {
+ "idx": row.idx,
"workstation": row.workstation,
"workstation_type": row.workstation_type,
"source_warehouse": row.source_warehouse,
diff --git a/erpnext/manufacturing/doctype/workstation/workstation.py b/erpnext/manufacturing/doctype/workstation/workstation.py
index 772318a6446..1dceddad256 100644
--- a/erpnext/manufacturing/doctype/workstation/workstation.py
+++ b/erpnext/manufacturing/doctype/workstation/workstation.py
@@ -232,7 +232,6 @@ class Workstation(Document):
for row in doc.time_logs:
if not row.to_time:
row.to_time = to_time
- row.time_in_mins = time_diff_in_hours(row.to_time, row.from_time) / 60
row.completed_qty = qty
doc.save()
diff --git a/erpnext/manufacturing/report/bom_explorer/bom_explorer.py b/erpnext/manufacturing/report/bom_explorer/bom_explorer.py
index 680cb83b312..232bc6821c3 100644
--- a/erpnext/manufacturing/report/bom_explorer/bom_explorer.py
+++ b/erpnext/manufacturing/report/bom_explorer/bom_explorer.py
@@ -24,7 +24,8 @@ def get_exploded_items(bom, data, indent=0, qty=1):
fields=[
"qty",
"bom_no",
- "qty",
+ "bom_no.quantity as child_bom_qty",
+ "stock_qty",
"item_code",
"item_name",
"description",
@@ -51,7 +52,12 @@ def get_exploded_items(bom, data, indent=0, qty=1):
}
)
if item.bom_no:
- get_exploded_items(item.bom_no, data, indent=indent + 1, qty=item.qty)
+ get_exploded_items(
+ item.bom_no,
+ data,
+ indent=indent + 1,
+ qty=qty * item.stock_qty / item.child_bom_qty,
+ )
def get_columns():
diff --git a/erpnext/manufacturing/report/bom_explorer/test_bom_explorer.py b/erpnext/manufacturing/report/bom_explorer/test_bom_explorer.py
new file mode 100644
index 00000000000..bff5f2487fc
--- /dev/null
+++ b/erpnext/manufacturing/report/bom_explorer/test_bom_explorer.py
@@ -0,0 +1,42 @@
+# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+
+import unittest
+from unittest.mock import patch
+
+import frappe
+
+from erpnext.manufacturing.report.bom_explorer.bom_explorer import get_exploded_items
+
+
+class TestBOMExplorer(unittest.TestCase):
+ def test_nested_bom_normalizes_and_accumulates_qty(self):
+ def item(item_code, qty, stock_qty, bom_no="", uom="Nos", child_bom_qty=None):
+ return frappe._dict(
+ item_code=item_code,
+ item_name=item_code,
+ description="",
+ qty=qty,
+ stock_qty=stock_qty,
+ bom_no=bom_no,
+ child_bom_qty=child_bom_qty,
+ uom=uom,
+ idx=1,
+ is_phantom_item=0,
+ )
+
+ children = {
+ "root": [item("parent", 2, 20, "parent-bom", "Box", 5)],
+ "parent-bom": [item("child", 3, 12, "child-bom", "Pack", 4)],
+ "child-bom": [item("raw-material", 2, 2, uom="Kg")],
+ }
+
+ def get_items(_doctype, filters, **kwargs):
+ self.assertIn("bom_no.quantity as child_bom_qty", kwargs["fields"])
+ return children[filters["parent"]]
+
+ data = []
+ with patch.object(frappe, "get_all", side_effect=get_items):
+ get_exploded_items("root", data)
+
+ self.assertEqual([row["qty"] for row in data], [2, 12, 24])
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index e56aa77abd2..a9fa908e29d 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -496,3 +496,6 @@ erpnext.patches.v16_0.rename_ar_ap_ageing_filter
erpnext.patches.v16_0.fix_subcontracting_titles
erpnext.patches.v16_0.backfill_repost_accounting_ledger_status
erpnext.patches.v16_0.merge_seeded_item_group_root
+erpnext.patches.v16_0.rename_italy_customer_name_fields
+erpnext.patches.v16_0.set_stock_uom_in_job_card
+erpnext.patches.v16_0.recalculate_purchase_receipt_billing_status
diff --git a/erpnext/patches/v14_0/clear_reconciliation_values_from_singles.py b/erpnext/patches/v14_0/clear_reconciliation_values_from_singles.py
index c1f5b60a406..21b31e3bda9 100644
--- a/erpnext/patches/v14_0/clear_reconciliation_values_from_singles.py
+++ b/erpnext/patches/v14_0/clear_reconciliation_values_from_singles.py
@@ -1,3 +1,4 @@
+import frappe
from frappe import qb
@@ -13,5 +14,8 @@ def execute():
"Payment Reconciliation Allocation",
]
for x in doctypes:
+ # child tables may not exist yet on sites where this pre-model-sync patch runs first
+ if not frappe.db.table_exists(x):
+ continue
dt = qb.DocType(x)
qb.from_(dt).delete().run()
diff --git a/erpnext/patches/v16_0/recalculate_purchase_receipt_billing_status.py b/erpnext/patches/v16_0/recalculate_purchase_receipt_billing_status.py
new file mode 100644
index 00000000000..9f0afb79c2e
--- /dev/null
+++ b/erpnext/patches/v16_0/recalculate_purchase_receipt_billing_status.py
@@ -0,0 +1,110 @@
+from collections import defaultdict
+
+import frappe
+from frappe.query_builder.functions import Count
+from frappe.utils import flt
+
+from erpnext.stock.doctype.purchase_receipt.purchase_receipt import (
+ get_billed_amount_against_po,
+ get_billed_amount_against_pr,
+ get_purchase_receipts_against_po_details,
+ update_billed_amount_based_on_po,
+ update_billing_percentage,
+)
+
+
+def execute():
+ purchase_order_items = get_affected_purchase_order_items()
+ if not purchase_order_items:
+ return
+
+ updated_purchase_receipts = update_billed_amount_based_on_po(purchase_order_items)
+ for purchase_receipt in set(updated_purchase_receipts):
+ update_billing_percentage(frappe.get_doc("Purchase Receipt", purchase_receipt))
+
+
+def get_affected_purchase_order_items() -> list[str]:
+ purchase_order_items = get_candidate_purchase_order_items()
+ if purchase_order_items:
+ purchase_order_items = exclude_purchase_order_items_with_invoice_created_receipts(
+ purchase_order_items
+ )
+
+ if not purchase_order_items:
+ return []
+
+ purchase_receipt_items = get_purchase_receipts_against_po_details(purchase_order_items)
+ direct_billed_amounts = get_billed_amount_against_pr([item.name for item in purchase_receipt_items])
+ po_billed_amounts = get_billed_amount_against_po(purchase_order_items)
+
+ current_billed_amounts = defaultdict(float)
+ available_billed_amounts = defaultdict(float)
+ for purchase_order_item, billed_details in po_billed_amounts.items():
+ available_billed_amounts[purchase_order_item] = flt(billed_details["billed_amt"])
+
+ for item in purchase_receipt_items:
+ current_billed_amounts[item.purchase_order_item] += flt(item.billed_amt)
+ available_billed_amounts[item.purchase_order_item] += flt(direct_billed_amounts.get(item.name))
+
+ precision = frappe.get_precision("Purchase Receipt Item", "billed_amt") or 2
+ return [
+ purchase_order_item
+ for purchase_order_item in purchase_order_items
+ if flt(po_billed_amounts.get(purchase_order_item, {}).get("billed_amt")) > 0
+ and flt(po_billed_amounts.get(purchase_order_item, {}).get("billed_qty")) > 0
+ and flt(
+ current_billed_amounts[purchase_order_item] - available_billed_amounts[purchase_order_item],
+ precision,
+ )
+ > 0
+ ]
+
+
+def exclude_purchase_order_items_with_invoice_created_receipts(purchase_order_items: list[str]) -> list[str]:
+ invoice_created_receipt_items = set(
+ frappe.get_all(
+ "Purchase Receipt Item",
+ filters={
+ "purchase_order_item": ("in", purchase_order_items),
+ "purchase_invoice_item": ("is", "set"),
+ "docstatus": 1,
+ },
+ pluck="purchase_order_item",
+ )
+ )
+ return [item for item in purchase_order_items if item not in invoice_created_receipt_items]
+
+
+def get_candidate_purchase_order_items() -> list[str]:
+ purchase_receipt = frappe.qb.DocType("Purchase Receipt")
+ purchase_receipt_item = frappe.qb.DocType("Purchase Receipt Item")
+ purchase_invoice = frappe.qb.DocType("Purchase Invoice")
+ purchase_invoice_item = frappe.qb.DocType("Purchase Invoice Item")
+
+ purchase_order_items_with_multiple_receipts = (
+ frappe.qb.from_(purchase_receipt_item)
+ .inner_join(purchase_receipt)
+ .on(purchase_receipt_item.parent == purchase_receipt.name)
+ .select(purchase_receipt_item.purchase_order_item)
+ .where(
+ (purchase_receipt.docstatus == 1)
+ & (purchase_receipt.is_return == 0)
+ & purchase_receipt_item.purchase_order_item.isnotnull()
+ )
+ .groupby(purchase_receipt_item.purchase_order_item)
+ .having(Count(purchase_receipt_item.name) > 1)
+ )
+
+ return (
+ frappe.qb.from_(purchase_invoice_item)
+ .inner_join(purchase_invoice)
+ .on(purchase_invoice_item.parent == purchase_invoice.name)
+ .select(purchase_invoice_item.po_detail)
+ .distinct()
+ .where(
+ (purchase_invoice.docstatus == 1)
+ & (purchase_invoice.update_stock == 0)
+ & purchase_invoice_item.pr_detail.isnull()
+ & purchase_invoice_item.po_detail.isin(purchase_order_items_with_multiple_receipts)
+ )
+ ).run(pluck=True)
diff --git a/erpnext/patches/v16_0/rename_italy_customer_name_fields.py b/erpnext/patches/v16_0/rename_italy_customer_name_fields.py
new file mode 100644
index 00000000000..4e1b13a947b
--- /dev/null
+++ b/erpnext/patches/v16_0/rename_italy_customer_name_fields.py
@@ -0,0 +1,53 @@
+import frappe
+
+RENAMED_FIELDS = {
+ "first_name": "italy_customer_first_name",
+ "last_name": "italy_customer_last_name",
+}
+
+
+def execute():
+ """Rename Italy's Customer name fields, which clash with the standard quick-entry
+ first_name/last_name fields, and restore any Italy custom field columns that a
+ previously interrupted fixture run left missing."""
+ if not has_italy_fixtures():
+ return
+
+ duplicate_fieldnames = [
+ fieldname for fieldname in RENAMED_FIELDS if frappe.db.exists("Custom Field", f"Customer-{fieldname}")
+ ]
+
+ from erpnext.regional.italy.setup import get_custom_fields, make_custom_fields
+
+ make_custom_fields()
+ for doctype in get_custom_fields():
+ frappe.clear_cache(doctype=doctype)
+ frappe.db.updatedb(doctype)
+
+ for old_fieldname, new_fieldname in RENAMED_FIELDS.items():
+ copy_customer_names(old_fieldname, new_fieldname)
+
+ for old_fieldname in duplicate_fieldnames:
+ frappe.delete_doc("Custom Field", f"Customer-{old_fieldname}", force=True)
+
+ if duplicate_fieldnames:
+ frappe.clear_cache(doctype="Customer")
+
+
+def has_italy_fixtures():
+ return bool(
+ frappe.db.exists("Company", {"country": "Italy"})
+ or frappe.db.exists("Custom Field", "Company-fiscal_regime")
+ )
+
+
+def copy_customer_names(old_fieldname, new_fieldname):
+ customer = frappe.qb.DocType("Customer")
+ old_column = customer[old_fieldname]
+ new_column = customer[new_fieldname]
+ (
+ frappe.qb.update(customer)
+ .set(new_column, old_column)
+ .where(old_column.isnotnull() & (old_column != ""))
+ .where(new_column.isnull() | (new_column == ""))
+ ).run()
diff --git a/erpnext/patches/v16_0/set_stock_uom_in_job_card.py b/erpnext/patches/v16_0/set_stock_uom_in_job_card.py
new file mode 100644
index 00000000000..35abf69df05
--- /dev/null
+++ b/erpnext/patches/v16_0/set_stock_uom_in_job_card.py
@@ -0,0 +1,36 @@
+import frappe
+
+
+def execute():
+ job_cards = frappe.get_all(
+ "Job Card",
+ filters={"stock_uom": ("is", "not set")},
+ fields=["name", "finished_good", "production_item"],
+ )
+
+ if not job_cards:
+ return
+
+ item_codes = {code for row in job_cards if (code := row.finished_good or row.production_item)}
+ if not item_codes:
+ return
+
+ stock_uoms = dict(
+ frappe.get_all(
+ "Item",
+ filters={"name": ("in", list(item_codes))},
+ fields=["name", "stock_uom"],
+ as_list=True,
+ )
+ )
+
+ updates = {}
+ for row in job_cards:
+ stock_uom = stock_uoms.get(row.finished_good or row.production_item)
+ if stock_uom:
+ updates[row.name] = {"stock_uom": stock_uom}
+
+ if not updates:
+ return
+
+ frappe.db.bulk_update("Job Card", updates)
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 9b1e3bfcde4..708558f62cd 100755
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -90,6 +90,7 @@ class Task(NestedSet):
self.validate_completed_on()
self.set_default_end_date_if_missing()
self.validate_parent_is_group()
+ self.validate_web_form_project_permission()
def validate_dates(self):
self.validate_from_to_dates("exp_start_date", "exp_end_date")
@@ -300,6 +301,23 @@ class Task(NestedSet):
if project_user:
return True
+ def validate_web_form_project_permission(self):
+ project_unchanged = not self.is_new() and self.project == self.get_db_value("project")
+
+ if (
+ not frappe.flags.in_web_form
+ or not self.project
+ or project_unchanged
+ or frappe.has_permission("Project", "write", doc=self.project)
+ or self.has_webform_permission()
+ ):
+ return
+
+ frappe.throw(
+ _("You are not permitted to create a Task for Project {0}").format(self.project),
+ frappe.PermissionError,
+ )
+
def populate_depends_on(self):
if self.parent_task:
parent = frappe.get_doc("Task", self.parent_task)
diff --git a/erpnext/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
index bc63ba79a80..3408c8f1843 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.js
+++ b/erpnext/projects/doctype/timesheet/timesheet.js
@@ -456,7 +456,7 @@ const set_employee_and_company = function (frm) {
const options = { user_id: frappe.session.user };
const fields = ["name", "company"];
frappe.db.get_value("Employee", options, fields).then(({ message }) => {
- if (message) {
+ if (message.name && message.company) {
// there is an employee with the currently logged in user_id
frm.set_value("employee", message.name);
frm.set_value("company", message.company);
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 8f62a139005..d6e3a308bf5 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -761,6 +761,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
method: "process_item_selection",
args: {
item_idx: item.idx,
+ reset_item_details: true,
},
callback: function (r) {
if (!r.exc) {
@@ -1771,7 +1772,10 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
let item = frappe.get_doc(cdt, cdn);
item.conversion_factor = 1.0;
if (item.stock_qty) {
- item.conversion_factor = flt(item.stock_qty) / flt(item.qty);
+ item.conversion_factor = flt(
+ flt(item.stock_qty) / flt(item.qty),
+ precision("conversion_factor", item)
+ );
}
refresh_field("conversion_factor", item.name, item.parentfield);
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 9f9da2d9a94..b847595d021 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -730,6 +730,7 @@ erpnext.utils.update_child_items = function (opts) {
qty: d.qty,
rate: d.rate,
uom: d.uom,
+ warehouse: d.warehouse,
fg_item: d.fg_item,
fg_item_qty: d.fg_item_qty,
description: d.description,
@@ -822,6 +823,7 @@ erpnext.utils.update_child_items = function (opts) {
item_name,
bom_no,
description,
+ warehouse,
} = r.message;
const row = dialog.fields_dict.trans_items.df.data.find(
(row) => row.name == me.doc.name
@@ -835,6 +837,7 @@ erpnext.utils.update_child_items = function (opts) {
item_name: item_name,
bom_no: bom_no,
description: me.doc.description || description,
+ warehouse: me.doc.docname ? me.doc.warehouse : warehouse,
});
dialog.fields_dict.trans_items.grid.refresh();
}
@@ -922,6 +925,29 @@ erpnext.utils.update_child_items = function (opts) {
});
}
+ const warehouse_df = child_meta.fields.find((f) => f.fieldname == "warehouse");
+ if (warehouse_df) {
+ fields.splice(3, 0, {
+ fieldtype: "Link",
+ fieldname: "warehouse",
+ options: "Warehouse",
+ in_list_view: 1,
+ label: __(warehouse_df.label),
+ // only new rows may set it, existing rows would leave their
+ // reserved qty stranded in the previous warehouse's bin
+ read_only_depends_on: "eval:doc.docname",
+ get_query: () => {
+ return {
+ filters: {
+ company: frm.doc.company,
+ is_group: 0,
+ disabled: 0,
+ },
+ };
+ },
+ });
+ }
+
if (
["Purchase Order", "Sales Order"].includes(frm.doc.doctype) &&
frm.doc.is_subcontracted &&
diff --git a/erpnext/public/scss/point-of-sale.scss b/erpnext/public/scss/point-of-sale.scss
index 5ef6e8fc5db..c16632d9a2f 100644
--- a/erpnext/public/scss/point-of-sale.scss
+++ b/erpnext/public/scss/point-of-sale.scss
@@ -837,6 +837,7 @@
flex-direction: column;
padding: var(--padding-lg);
padding-top: var(--padding-md);
+ overflow-y: auto;
> .item-details-header {
display: flex;
diff --git a/erpnext/regional/italy/e-invoice.xml b/erpnext/regional/italy/e-invoice.xml
index ef1e94ff27b..713e85a556e 100644
--- a/erpnext/regional/italy/e-invoice.xml
+++ b/erpnext/regional/italy/e-invoice.xml
@@ -99,8 +99,8 @@
{%- if doc.customer_data.customer_type == "Individual" %}
{{ doc.customer_data.fiscal_code }}
- {{ doc.customer_data.first_name }}
- {{ doc.customer_data.last_name }}
+ {{ doc.customer_data.italy_customer_first_name }}
+ {{ doc.customer_data.italy_customer_last_name }}
{%- else %}
diff --git a/erpnext/regional/italy/setup.py b/erpnext/regional/italy/setup.py
index 9f9115ca12d..a21be948650 100644
--- a/erpnext/regional/italy/setup.py
+++ b/erpnext/regional/italy/setup.py
@@ -23,6 +23,10 @@ def setup(company=None, patch=True):
def make_custom_fields(update=True):
+ create_custom_fields(get_custom_fields(), ignore_validate=frappe.flags.in_patch, update=update)
+
+
+def get_custom_fields():
invoice_item_fields = [
dict(
fieldname="tax_rate",
@@ -96,7 +100,7 @@ def make_custom_fields(update=True):
),
]
- custom_fields = {
+ return {
"Company": [
dict(
fieldname="sb_e_invoicing",
@@ -232,18 +236,18 @@ def make_custom_fields(update=True):
depends_on='eval:doc.customer_type=="Company"',
),
dict(
- fieldname="first_name",
+ fieldname="italy_customer_first_name",
label="First Name",
fieldtype="Data",
- insert_after="salutation",
+ insert_after="customer_type",
print_hide=1,
depends_on='eval:doc.customer_type!="Company"',
),
dict(
- fieldname="last_name",
+ fieldname="italy_customer_last_name",
label="Last Name",
fieldtype="Data",
- insert_after="first_name",
+ insert_after="italy_customer_first_name",
print_hide=1,
depends_on='eval:doc.customer_type!="Company"',
),
@@ -461,8 +465,6 @@ def make_custom_fields(update=True):
],
}
- create_custom_fields(custom_fields, ignore_validate=frappe.flags.in_patch, update=update)
-
def setup_report():
report_name = "Electronic Invoice Register"
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index 126145792dd..0f776858cb8 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -194,7 +194,8 @@ class Customer(TransactionBase):
self.loyalty_program_tier = customer.loyalty_program_tier
if self.sales_team:
- if sum(member.allocated_percentage or 0 for member in self.sales_team) != 100:
+ total = sum(flt(member.allocated_percentage) for member in self.sales_team)
+ if flt(total, self.precision("allocated_percentage", "sales_team")) != 100:
frappe.throw(_("Total contribution percentage should be equal to 100"))
@frappe.whitelist()
@@ -730,8 +731,8 @@ def get_overdue_billing_threshold(customer: str, company: str) -> float:
def get_customer_overdue_amount(customer: str, company: str) -> float:
"""Amount the customer owes past its due date, in company currency.
- Follows the same rule as the Overdue invoice status, so a customer is only
- blocked for what the invoice list already shows as overdue.
+ Reads the Payment Ledger, the same source as `outstanding_amount`, so this agrees
+ with the Overdue status the invoice list already shows.
"""
invoices = get_outstanding_invoices_for_customer(customer, company)
if not invoices:
@@ -744,27 +745,28 @@ def get_customer_overdue_amount(customer: str, company: str) -> float:
def get_outstanding_invoices_for_customer(customer: str, company: str) -> list[frappe._dict]:
from frappe.query_builder.functions import Sum
- gl_entry = frappe.qb.DocType("GL Entry")
+ ple = frappe.qb.DocType("Payment Ledger Entry")
sales_invoice = frappe.qb.DocType("Sales Invoice")
- # debit - credit is always booked in company currency, so this is comparable to the overdue limit
- outstanding = Sum(gl_entry.debit) - Sum(gl_entry.credit)
+ # the Payment Ledger, not the GL, carries allocations made after submit (reconciled advances).
+ # `amount` is booked in company currency, so this is comparable to the overdue limit.
+ outstanding = Sum(ple.amount)
return (
- frappe.qb.from_(gl_entry)
+ frappe.qb.from_(ple)
.inner_join(sales_invoice)
- .on(sales_invoice.name == gl_entry.against_voucher)
+ .on(sales_invoice.name == ple.against_voucher_no)
.select(
sales_invoice.name,
sales_invoice.due_date,
sales_invoice.base_grand_total,
outstanding.as_("outstanding"),
)
- .where(gl_entry.party_type == "Customer")
- .where(gl_entry.party == customer)
- .where(gl_entry.company == company)
- .where(gl_entry.is_cancelled == 0)
- .where(gl_entry.against_voucher_type == "Sales Invoice")
+ .where(ple.party_type == "Customer")
+ .where(ple.party == customer)
+ .where(ple.company == company)
+ .where(ple.delinked == 0)
+ .where(ple.against_voucher_type == "Sales Invoice")
.groupby(sales_invoice.name, sales_invoice.due_date, sales_invoice.base_grand_total)
.having(outstanding > 0)
).run(as_dict=True)
diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py
index e7fcf2519fd..d2c44b63a1c 100644
--- a/erpnext/selling/doctype/customer/test_customer.py
+++ b/erpnext/selling/doctype/customer/test_customer.py
@@ -422,6 +422,37 @@ class TestCustomer(ERPNextTestSuite):
pe.submit()
self.assertEqual(get_customer_overdue_amount("_Test Customer", "_Test Company"), baseline)
+ def test_get_customer_overdue_amount_ignores_advance_reconciled_after_submit(self):
+ from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_entry
+ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
+
+ baseline = get_customer_overdue_amount("_Test Customer", "_Test Company")
+
+ # advance received before the invoice exists, so it carries no reference row
+ pe = create_payment_entry(
+ company="_Test Company",
+ party_type="Customer",
+ party="_Test Customer",
+ payment_type="Receive",
+ paid_from="Debtors - _TC",
+ paid_to="Cash - _TC",
+ paid_amount=800,
+ )
+ pe.posting_date = add_days(nowdate(), -60)
+ pe.submit()
+
+ si = create_sales_invoice(qty=1, rate=800, posting_date=add_days(nowdate(), -30))
+ self.assertEqual(get_customer_overdue_amount("_Test Customer", "_Test Company"), baseline + 800)
+
+ reconcile_payment_against_invoice(pe, si)
+
+ # reconciliation settles the invoice without re-tagging the payment's GL entries, so an
+ # overdue amount read off the GL would still count the full 800 here
+ si.reload()
+ self.assertEqual(si.outstanding_amount, 0)
+ self.assertEqual(si.status, "Paid")
+ self.assertEqual(get_customer_overdue_amount("_Test Customer", "_Test Company"), baseline)
+
def test_overdue_billing_threshold_on_submit(self):
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
@@ -591,6 +622,27 @@ def set_credit_limit(customer, company, credit_limit):
customer.credit_limits[-1].db_insert()
+def reconcile_payment_against_invoice(payment_entry, sales_invoice):
+ """Allocate an unlinked payment against an invoice through the reconciliation tool."""
+ pr = frappe.get_doc(
+ doctype="Payment Reconciliation",
+ company=sales_invoice.company,
+ party_type="Customer",
+ party=sales_invoice.customer,
+ receivable_payable_account=sales_invoice.debit_to,
+ )
+ pr.get_unreconciled_entries()
+ pr.allocate_entries(
+ frappe._dict(
+ {
+ "invoices": [d.as_dict() for d in pr.invoices if d.invoice_number == sales_invoice.name],
+ "payments": [d.as_dict() for d in pr.payments if d.reference_name == payment_entry.name],
+ }
+ )
+ )
+ pr.reconcile()
+
+
def set_overdue_billing_threshold(customer, company, threshold):
customer = frappe.get_doc("Customer", customer)
for d in customer.credit_limits:
diff --git a/erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json b/erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
index 908251ea343..6db056bec04 100644
--- a/erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
+++ b/erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json
@@ -38,6 +38,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -106,7 +107,7 @@
"grid_page_length": 50,
"index_web_pages_for_search": 1,
"links": [],
- "modified": "2025-08-21 18:11:30.134073",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Selling",
"name": "Delivery Schedule Item",
diff --git a/erpnext/selling/doctype/product_bundle/product_bundle.js b/erpnext/selling/doctype/product_bundle/product_bundle.js
index 3096b692a7e..adbe4e728cf 100644
--- a/erpnext/selling/doctype/product_bundle/product_bundle.js
+++ b/erpnext/selling/doctype/product_bundle/product_bundle.js
@@ -9,5 +9,10 @@ frappe.ui.form.on("Product Bundle", {
query: "erpnext.selling.doctype.product_bundle.product_bundle.get_new_item_code",
};
});
+ frm.set_query("item_code", "items", () => {
+ return {
+ query: "erpnext.controllers.queries.item_query",
+ };
+ });
},
});
diff --git a/erpnext/selling/doctype/quotation_item/quotation_item.json b/erpnext/selling/doctype/quotation_item/quotation_item.json
index 92d7895c57b..acca03b5dd8 100644
--- a/erpnext/selling/doctype/quotation_item/quotation_item.json
+++ b/erpnext/selling/doctype/quotation_item/quotation_item.json
@@ -198,6 +198,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "UOM Conversion Factor",
+ "precision": "9",
"print_hide": 1,
"read_only": 1,
"reqd": 1
@@ -711,7 +712,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2026-01-30 12:56:08.320190",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Selling",
"name": "Quotation Item",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 37cc541f411..b77145f8b69 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -10,6 +10,7 @@ import frappe.utils
from frappe import _, qb
from frappe.contacts.doctype.address.address import get_company_address
from frappe.desk.notifications import clear_doctype_notifications
+from frappe.model.document import Document
from frappe.model.mapper import get_mapped_doc
from frappe.model.utils import get_fetch_values
from frappe.query_builder.functions import Sum
@@ -1319,8 +1320,20 @@ def make_delivery_note(source_name, target_doc=None, kwargs=None):
return target_doc
+def get_qty_net_of_returns(so_item) -> float:
+ """Return the ordered quantity billable after returns and re-deliveries."""
+ qty = flt(so_item.qty)
+
+ return min(qty, max(qty - flt(so_item.returned_qty), flt(so_item.delivered_qty)))
+
+
@frappe.whitelist()
-def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False, args=None):
+def make_sales_invoice(
+ source_name: str,
+ target_doc: str | dict | Document | None = None,
+ ignore_permissions: bool = False,
+ args: str | dict | None = None,
+):
if args is None:
args = {}
if isinstance(args, str):
@@ -1328,10 +1341,40 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False, a
# 0 qty is accepted, as the qty is uncertain for some items
has_unit_price_items = frappe.db.get_value("Sales Order", source_name, "has_unit_price_items")
+ billed_qty_by_item = None
+ pending_qty_by_item = {}
def is_unit_price_row(source):
return has_unit_price_items and source.qty == 0
+ def get_billed_qty_by_item():
+ nonlocal billed_qty_by_item
+
+ if billed_qty_by_item is None:
+ invoice_item = frappe.qb.DocType("Sales Invoice Item")
+ sales_order_item = frappe.qb.DocType("Sales Order Item")
+ rows = (
+ frappe.qb.from_(invoice_item)
+ .inner_join(sales_order_item)
+ .on(invoice_item.so_detail == sales_order_item.name)
+ .select(invoice_item.so_detail, Sum(invoice_item.qty).as_("qty"))
+ .where((invoice_item.docstatus == 1) & (sales_order_item.parent == source_name))
+ .groupby(invoice_item.so_detail)
+ ).run(as_dict=True)
+ billed_qty_by_item = {row.so_detail: flt(row.qty) for row in rows}
+
+ return billed_qty_by_item
+
+ def get_pending_qty(source):
+ if source.name not in pending_qty_by_item:
+ billable_qty = get_qty_net_of_returns(source)
+ if source.qty and source.billed_amt:
+ billable_qty -= get_billed_qty_by_item().get(source.name, 0)
+
+ pending_qty_by_item[source.name] = max(flt(billable_qty, source.precision("qty")), 0)
+
+ return pending_qty_by_item[source.name]
+
def postprocess(source, target):
set_missing_values(source, target)
# Get the advance paid Journal Entries in Sales Invoice Advance
@@ -1362,17 +1405,6 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False, a
target.debit_to = get_party_account("Customer", source.customer, source.company)
def update_item(source, target, source_parent):
- def get_billed_qty(so_item_name):
- from frappe.query_builder.functions import Sum
-
- table = frappe.qb.DocType("Sales Invoice Item")
- query = (
- frappe.qb.from_(table)
- .select(Sum(table.qty).as_("qty"))
- .where((table.docstatus == 1) & (table.so_detail == so_item_name))
- )
- return query.run(pluck="qty")[0] or 0
-
if source_parent.has_unit_price_items:
# 0 Amount rows (as seen in Unit Price Items) should be mapped as it is
pending_amount = flt(source.amount) - flt(source.billed_amt)
@@ -1381,11 +1413,7 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False, a
target.amount = flt(source.amount) - flt(source.billed_amt)
target.base_amount = target.amount * flt(source_parent.conversion_rate)
- target.qty = (
- source.qty - get_billed_qty(source.name)
- if (source.qty and source.billed_amt)
- else (source.qty if is_unit_price_row(source) else source.qty - source.returned_qty)
- )
+ target.qty = source.qty if is_unit_price_row(source) else get_pending_qty(source)
if source_parent.project:
target.cost_center = frappe.db.get_value("Project", source_parent.project, "cost_center")
@@ -1461,13 +1489,17 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False, a
"parent": "sales_order",
},
"postprocess": update_item,
- "condition": lambda doc: (
+ "condition": lambda doc: not args.get("skip_item_mapping")
+ and select_item(doc)
+ and (
True
if is_unit_price_row(doc)
- else (doc.qty and (doc.base_amount == 0 or abs(doc.billed_amt) < abs(doc.amount)))
- )
- and select_item(doc)
- and not args.get("skip_item_mapping"),
+ else (
+ doc.qty
+ and (doc.base_amount == 0 or abs(doc.billed_amt) < abs(doc.amount))
+ and get_pending_qty(doc) > 0
+ )
+ ),
},
"Sales Taxes and Charges": {
"doctype": "Sales Taxes and Charges",
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index f45632573b0..4b42b77f2b8 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -33,6 +33,7 @@ from erpnext.selling.doctype.sales_order.sales_order import (
from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.stock.get_item_details import get_bin_details
+from erpnext.stock.utils import InvalidWarehouseCompany
from erpnext.tests.utils import ERPNextTestSuite
@@ -156,6 +157,38 @@ class TestSalesOrder(ERPNextTestSuite):
)
update_child_qty_rate("Sales Order", trans_item, so.name)
+ @ERPNextTestSuite.change_settings("Selling Settings", {"allow_negative_rates_for_items": 0})
+ def test_sales_order_negative_grand_total_blocked_without_setting(self):
+ so = make_sales_order(qty=1, rate=100, do_not_save=True)
+ so.append("items", {"item_code": "_Test Item 2", "qty": 1, "rate": -150})
+ self.assertRaises(frappe.ValidationError, so.save)
+
+ @ERPNextTestSuite.change_settings("Selling Settings", {"allow_negative_rates_for_items": 1})
+ def test_sales_order_negative_grand_total_allowed_with_setting(self):
+ """Use a negative rate to represent a credit while order quantities remain positive."""
+ so = make_sales_order(qty=1, rate=100, do_not_save=True)
+ so.append("items", {"item_code": "_Test Item 2", "qty": 1, "rate": -150})
+ so.save()
+ so.submit()
+ self.assertEqual(so.docstatus, 1)
+ self.assertTrue(so.base_grand_total < 0)
+
+ @ERPNextTestSuite.change_settings("Selling Settings", {"allow_negative_rates_for_items": 0})
+ def test_sales_order_negative_rate_error_links_to_selling_settings(self):
+ so = make_sales_order(qty=1, rate=100, do_not_save=True)
+ so.append("items", {"item_code": "_Test Item 2", "qty": 1, "rate": -10})
+ so.save()
+
+ with self.assertRaises(frappe.ValidationError) as error:
+ so.submit()
+
+ self.assertIn("selling-settings", str(error.exception))
+
+ @ERPNextTestSuite.change_settings("Selling Settings", {"allow_negative_rates_for_items": 1})
+ def test_sales_order_negative_rate_setting_does_not_allow_negative_quantity(self):
+ so = make_sales_order(qty=-1, rate=100, do_not_save=True)
+ self.assertRaises(frappe.NonNegativeError, so.save)
+
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1})
def test_sales_order_qty(self):
so = make_sales_order(qty=1, do_not_save=True)
@@ -252,6 +285,95 @@ class TestSalesOrder(ERPNextTestSuite):
si1 = make_sales_invoice(so.name)
self.assertEqual(len(si1.get("items")), 0)
+ def test_make_sales_invoice_after_return_and_redelivery(self):
+ from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return
+
+ so = make_sales_order(qty=10, rate=100)
+ dn = create_dn_against_so(so.name, 10)
+
+ dn_return = frappe.get_doc(make_sales_return(dn.name).as_dict())
+ dn_return.insert()
+ dn_return.submit()
+
+ self.assertEqual(len(make_sales_invoice(so.name).get("items")), 0)
+
+ create_dn_against_so(so.name, 10)
+
+ so.load_from_db()
+ item = so.get("items")[0]
+ self.assertEqual(item.delivered_qty, 10)
+ self.assertEqual(item.returned_qty, 10)
+
+ si = make_sales_invoice(so.name)
+ self.assertEqual(si.get("items")[0].qty, 10)
+
+ def test_make_sales_invoice_bills_ordered_qty_for_partial_delivery(self):
+ so = make_sales_order(qty=10, rate=100)
+ create_dn_against_so(so.name, 4)
+
+ si = make_sales_invoice(so.name)
+ self.assertEqual(si.get("items")[0].qty, 10)
+
+ def test_make_sales_invoice_after_partial_billing_return_and_redelivery(self):
+ from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return
+
+ so = make_sales_order(qty=10, rate=100)
+ dn = create_dn_against_so(so.name, 10)
+
+ si = make_sales_invoice(so.name)
+ si.get("items")[0].qty = 4
+ si.insert()
+ si.submit()
+
+ dn_return = frappe.get_doc(make_sales_return(dn.name).as_dict())
+ dn_return.insert()
+ dn_return.submit()
+ create_dn_against_so(so.name, 5)
+
+ so.load_from_db()
+ item = so.get("items")[0]
+ self.assertEqual(item.delivered_qty, 5)
+ self.assertEqual(item.returned_qty, 10)
+ self.assertEqual(item.billed_amt, 400)
+
+ pending_invoice = make_sales_invoice(so.name)
+ self.assertEqual(pending_invoice.get("items")[0].qty, 1)
+ pending_invoice.insert()
+ pending_invoice.submit()
+
+ so.load_from_db()
+ self.assertEqual(so.get("items")[0].billed_amt, 500)
+
+ def test_make_sales_invoice_after_partial_billing_multiple_items(self):
+ so = make_sales_order(
+ item_list=[
+ {
+ "item_code": "_Test Item",
+ "warehouse": "_Test Warehouse - _TC",
+ "qty": 10,
+ "rate": 100,
+ },
+ {
+ "item_code": "_Test FG Item",
+ "warehouse": "_Test Warehouse - _TC",
+ "qty": 10,
+ "rate": 100,
+ },
+ ]
+ )
+
+ si = make_sales_invoice(so.name)
+ si.get("items")[0].qty = 4
+ si.get("items")[1].qty = 6
+ si.insert()
+ si.submit()
+
+ pending_invoice = make_sales_invoice(so.name)
+ self.assertEqual(
+ {item.so_detail: item.qty for item in pending_invoice.get("items")},
+ {so.get("items")[0].name: 6, so.get("items")[1].name: 4},
+ )
+
def test_so_billed_amount_against_return_entry(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return
@@ -584,6 +706,117 @@ class TestSalesOrder(ERPNextTestSuite):
self.assertEqual(updated_total, prev_total + 1400)
self.assertNotEqual(updated_total_in_words, prev_total_in_words)
+ def test_update_child_adding_new_item_with_warehouse(self):
+ so = make_sales_order(item_code="_Test Item", qty=4)
+
+ first_item_of_so = so.get("items")[0]
+ self.assertNotEqual(first_item_of_so.warehouse, "_Test Warehouse 2 - _TC")
+
+ def get_trans_item(warehouse):
+ return json.dumps(
+ [
+ {
+ "item_code": first_item_of_so.item_code,
+ "rate": first_item_of_so.rate,
+ "qty": first_item_of_so.qty,
+ "docname": first_item_of_so.name,
+ "warehouse": warehouse,
+ },
+ {"item_code": "_Test Item 2", "rate": 200, "qty": 7, "warehouse": warehouse},
+ ]
+ )
+
+ self.assertRaises(
+ InvalidWarehouseCompany,
+ update_child_qty_rate,
+ "Sales Order",
+ get_trans_item("_Test Warehouse 2 - _TC1"),
+ so.name,
+ )
+
+ self.assertRaisesRegex(
+ frappe.ValidationError,
+ "Group node warehouse",
+ update_child_qty_rate,
+ "Sales Order",
+ get_trans_item("_Test Warehouse Group - _TC"),
+ so.name,
+ )
+
+ if not frappe.db.exists("Warehouse", "_Test Disabled Warehouse - _TC"):
+ frappe.get_doc(
+ {
+ "doctype": "Warehouse",
+ "warehouse_name": "_Test Disabled Warehouse",
+ "company": "_Test Company",
+ "disabled": 1,
+ }
+ ).insert()
+
+ self.assertRaisesRegex(
+ frappe.ValidationError,
+ "Disabled Warehouse",
+ update_child_qty_rate,
+ "Sales Order",
+ get_trans_item("_Test Disabled Warehouse - _TC"),
+ so.name,
+ )
+
+ update_child_qty_rate("Sales Order", get_trans_item("_Test Warehouse 2 - _TC"), so.name)
+
+ so.reload()
+ # the new row picks up the warehouse selected in the dialog
+ self.assertEqual(so.get("items")[-1].item_code, "_Test Item 2")
+ self.assertEqual(so.get("items")[-1].warehouse, "_Test Warehouse 2 - _TC")
+ # existing rows keep theirs, so their reserved qty stays in the same bin
+ self.assertEqual(so.get("items")[0].warehouse, first_item_of_so.warehouse)
+
+ def test_update_child_adding_new_item_without_any_default_warehouse(self):
+ item_code = make_item("_Test Item Without Default Warehouse", {"is_stock_item": 1}).name
+ so = make_sales_order(item_code="_Test Item", qty=4)
+ existing_item = so.get("items")[0]
+
+ stock_settings_default = frappe.db.get_single_value("Stock Settings", "default_warehouse")
+ frappe.db.set_single_value("Stock Settings", "default_warehouse", None)
+ self.addCleanup(
+ frappe.db.set_single_value, "Stock Settings", "default_warehouse", stock_settings_default
+ )
+
+ def get_trans_items(warehouse=None):
+ new_row = {"item_code": item_code, "rate": 200, "qty": 7}
+ if warehouse:
+ new_row["warehouse"] = warehouse
+
+ return json.dumps(
+ [
+ {
+ "item_code": existing_item.item_code,
+ "rate": existing_item.rate,
+ "qty": existing_item.qty,
+ "docname": existing_item.name,
+ },
+ new_row,
+ ]
+ )
+
+ # no default in the Item Master, Item Group, Brand or Stock Settings
+ self.assertRaisesRegex(
+ frappe.ValidationError,
+ "Cannot find a default warehouse",
+ update_child_qty_rate,
+ "Sales Order",
+ get_trans_items(),
+ so.name,
+ )
+
+ update_child_qty_rate("Sales Order", get_trans_items("_Test Warehouse - _TC"), so.name)
+
+ so.reload()
+ self.assertEqual(len(so.get("items")), 2)
+ self.assertEqual(so.get("items")[0].warehouse, existing_item.warehouse)
+ self.assertEqual(so.get("items")[-1].item_code, item_code)
+ self.assertEqual(so.get("items")[-1].warehouse, "_Test Warehouse - _TC")
+
def test_update_child_removing_item(self):
so = make_sales_order(**{"item_list": [{"item_code": "_Test Item", "qty": 5, "rate": 1000}]})
create_dn_against_so(so.name, 2)
@@ -2890,6 +3123,17 @@ class TestSalesOrder(ERPNextTestSuite):
so = make_sales_order(item_code=fg_item, qty=10, rate=50, warehouse=fg_warehouse, do_not_save=1)
self.assertRaises(frappe.ValidationError, so.save)
+ def test_sales_team_allocated_percentage_tolerates_floating_point_drift(self):
+ # 10.0 + 58.02 + 31.98 accumulates to 100.00000000000001 in binary floating point
+ so = make_sales_order(do_not_save=True)
+ for sales_person, percentage in (
+ ("_Test Sales Person", 10.0),
+ ("_Test Sales Person 1", 58.02),
+ ("_Test Sales Person 2", 31.98),
+ ):
+ so.append("sales_team", {"sales_person": sales_person, "allocated_percentage": percentage})
+ so.save()
+
def compare_payment_schedules(doc, doc1, doc2):
for index, schedule in enumerate(doc1.get("payment_schedule")):
diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.json b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
index 0f043a73fa4..9e6390df115 100644
--- a/erpnext/selling/doctype/sales_order_item/sales_order_item.json
+++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -251,6 +251,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "UOM Conversion Factor",
+ "precision": "9",
"print_hide": 1,
"read_only": 1,
"reqd": 1
@@ -1035,7 +1036,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2026-02-22 16:40:00.200328",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",
diff --git a/erpnext/selling/page/point_of_sale/pos_item_details.js b/erpnext/selling/page/point_of_sale/pos_item_details.js
index 988ab60d548..b1f56b8df4c 100644
--- a/erpnext/selling/page/point_of_sale/pos_item_details.js
+++ b/erpnext/selling/page/point_of_sale/pos_item_details.js
@@ -83,6 +83,17 @@ erpnext.PointOfSale.ItemDetails = class {
this.item_row = item;
this.currency = this.events.get_frm().doc.currency;
+ if (item.has_serial_no == null || item.has_batch_no == null) {
+ const r = await frappe.db.get_value("Item", item.item_code, [
+ "has_serial_no",
+ "has_batch_no",
+ ]);
+ if (r && r.message) {
+ item.has_serial_no = r.message.has_serial_no;
+ item.has_batch_no = r.message.has_batch_no;
+ }
+ }
+
this.current_item = item;
this.render_dom(item);
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index 20c7142b9a9..e08ac8d7fd4 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -410,6 +410,7 @@ class Company(NestedSet):
)
warehouse.flags.ignore_permissions = True
warehouse.flags.ignore_mandatory = True
+ warehouse.flags.ignore_inventory_account_validation = True
warehouse.insert()
if wh_detail["is_group"]:
diff --git a/erpnext/setup/doctype/driver/driver.js b/erpnext/setup/doctype/driver/driver.js
index 35f8bff5874..3372b75bc35 100644
--- a/erpnext/setup/doctype/driver/driver.js
+++ b/erpnext/setup/doctype/driver/driver.js
@@ -23,15 +23,20 @@ frappe.ui.form.on("Driver", {
},
transporter: function (frm, cdt, cdn) {
- // this assumes that supplier's address has same title as supplier's name
if (!frm.doc.transporter) return;
- frappe.db
- .get_doc("Address", null, { address_title: frm.doc.transporter })
- .then((r) => {
- frappe.model.set_value(cdt, cdn, "address", r.name);
- })
- .catch((err) => {
- console.log(err);
- });
+
+ const transporter = frm.doc.transporter;
+ frappe.call({
+ method: "frappe.contacts.doctype.address.address.get_default_address",
+ args: {
+ doctype: "Supplier",
+ name: transporter,
+ },
+ callback: function (r) {
+ if (frm.doc.transporter === transporter) {
+ frappe.model.set_value(cdt, cdn, "address", r.message);
+ }
+ },
+ });
},
});
diff --git a/erpnext/stock/__init__.py b/erpnext/stock/__init__.py
index 032bf25a125..319da20c614 100644
--- a/erpnext/stock/__init__.py
+++ b/erpnext/stock/__init__.py
@@ -37,7 +37,7 @@ def get_warehouse_account_map(company=None):
order_by="lft, rgt",
):
if not d.account:
- d.account = get_warehouse_account(d, warehouse_account)
+ d.account = get_warehouse_account(d, warehouse_account, raise_error=False)
if d.account:
d.account_currency = frappe.db.get_value("Account", d.account, "account_currency", cache=True)
@@ -47,10 +47,13 @@ def get_warehouse_account_map(company=None):
else:
frappe.flags.warehouse_account_map = warehouse_account
- return frappe.flags.warehouse_account_map.get(company) or frappe.flags.warehouse_account_map
+ if company:
+ return frappe.flags.warehouse_account_map.get(company, frappe._dict())
+
+ return frappe.flags.warehouse_account_map
-def get_warehouse_account(warehouse, warehouse_account=None):
+def get_warehouse_account(warehouse, warehouse_account=None, *, raise_error=True):
account = warehouse.account
if not account and warehouse.parent_warehouse:
if warehouse_account:
@@ -86,7 +89,7 @@ def get_warehouse_account(warehouse, warehouse_account=None):
if len(inventory_accounts) == 1:
account = inventory_accounts[0]
- if not account and warehouse.company and not warehouse.is_group:
+ if raise_error and not account and warehouse.company and not warehouse.is_group:
frappe.throw(
_("Please set Account in Warehouse {0} or Default Inventory Account in Company {1}").format(
warehouse.name, warehouse.company
diff --git a/erpnext/stock/deprecated_serial_batch.py b/erpnext/stock/deprecated_serial_batch.py
index 9432e8c59ae..77d691837f1 100644
--- a/erpnext/stock/deprecated_serial_batch.py
+++ b/erpnext/stock/deprecated_serial_batch.py
@@ -159,6 +159,9 @@ class DeprecatedBatchNoValuation:
if self.sle.name:
query = query.where(sle.name != self.sle.name)
+ if getattr(self, "stock_closing_from_datetime", None):
+ query = query.where(sle.posting_datetime >= self.stock_closing_from_datetime)
+
return query.run(as_dict=True)
@deprecated(
diff --git a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
index 0175b790887..873a7db9443 100644
--- a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
+++ b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
@@ -236,6 +236,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "UOM Conversion Factor",
+ "precision": "9",
"print_hide": 1,
"read_only": 1,
"reqd": 1
@@ -952,7 +953,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-04-07 15:43:20.892151",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note Item",
diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.py b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
index 07359df830f..b2307a5948f 100644
--- a/erpnext/stock/doctype/delivery_trip/delivery_trip.py
+++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
@@ -438,7 +438,7 @@ def notify_customers(delivery_trip):
frappe.sendmail(
recipients=contact_info.email_id,
subject=dispatch_template.subject,
- message=frappe.render_template(dispatch_template.response, context),
+ message=frappe.render_template(dispatch_template.response, context, restrict_globals=True),
attachments=get_attachments(stop),
)
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 13842784f9a..a11c9b1c6dc 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -1453,7 +1453,7 @@ def get_item_details(item_code, company=None):
@frappe.whitelist()
-def get_uom_conv_factor(uom, stock_uom):
+def get_uom_conv_factor(uom: str | None, stock_uom: str | None):
"""Get UOM conversion factor from uom to stock_uom
e.g. uom = "Kg", stock_uom = "Gram" then returns 1000.0
"""
@@ -1472,7 +1472,7 @@ def get_uom_conv_factor(uom, stock_uom):
"UOM Conversion Factor", {"to_uom": from_uom, "from_uom": to_uom}, ["value"], as_dict=1
)
if inverse_match:
- return 1 / inverse_match.value
+ return flt(1 / inverse_match.value, frappe.get_precision("UOM Conversion Factor", "value"))
# This attempts to try and get conversion from intermediate UOM.
# case:
@@ -1495,7 +1495,7 @@ def get_uom_conv_factor(uom, stock_uom):
)
if intermediate_match:
- return intermediate_match[0].value
+ return flt(intermediate_match[0].value, frappe.get_precision("UOM Conversion Factor", "value"))
@frappe.whitelist()
diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.json b/erpnext/stock/doctype/material_request_item/material_request_item.json
index 5f38ffc7462..4e7027f11db 100644
--- a/erpnext/stock/doctype/material_request_item/material_request_item.json
+++ b/erpnext/stock/doctype/material_request_item/material_request_item.json
@@ -159,6 +159,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "UOM Conversion Factor",
+ "precision": "9",
"print_hide": 1,
"reqd": 1
},
@@ -545,7 +546,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-01-06 20:47:27.317226",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request Item",
diff --git a/erpnext/stock/doctype/packed_item/packed_item.json b/erpnext/stock/doctype/packed_item/packed_item.json
index f77661c4245..3a0c8059891 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.json
+++ b/erpnext/stock/doctype/packed_item/packed_item.json
@@ -228,7 +228,8 @@
{
"fieldname": "conversion_factor",
"fieldtype": "Float",
- "label": "Conversion Factor"
+ "label": "Conversion Factor",
+ "precision": "9"
},
{
"fieldname": "rate",
@@ -315,7 +316,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-04-27 14:12:53.236906",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Packed Item",
diff --git a/erpnext/stock/doctype/pick_list_item/pick_list_item.json b/erpnext/stock/doctype/pick_list_item/pick_list_item.json
index 4ee5c820ab7..4733b4613a7 100644
--- a/erpnext/stock/doctype/pick_list_item/pick_list_item.json
+++ b/erpnext/stock/doctype/pick_list_item/pick_list_item.json
@@ -124,6 +124,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "UOM Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -296,7 +297,7 @@
],
"istable": 1,
"links": [],
- "modified": "2026-07-06 18:17:18.000000",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Pick List Item",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index d1a8cb16a70..54acee1af02 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -17,6 +17,7 @@ from erpnext.accounts.utils import get_account_currency
from erpnext.assets.doctype.asset.asset import get_asset_account, is_cwip_accounting_enabled
from erpnext.controllers.accounts_controller import merge_taxes
from erpnext.controllers.buying_controller import BuyingController
+from erpnext.stock import get_warehouse_account
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_transaction
from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import StockReservation
from erpnext.stock.serial_batch_bundle import (
@@ -765,11 +766,14 @@ class PurchaseReceipt(BuyingController):
supplier_warehouse_account = None
supplier_warehouse_account_currency = None
if self.supplier_warehouse:
- if _inv_dict := self.get_inventory_account_dict(
- d, inventory_account_map, "supplier_warehouse"
- ):
- supplier_warehouse_account = _inv_dict["account"]
- supplier_warehouse_account_currency = _inv_dict["account_currency"]
+ supplier_warehouse_account = get_warehouse_account(
+ frappe.get_cached_doc("Warehouse", self.supplier_warehouse),
+ raise_error=bool(flt(d.rm_supp_cost)),
+ )
+ if supplier_warehouse_account:
+ supplier_warehouse_account_currency = get_account_currency(
+ supplier_warehouse_account
+ )
# If PR is sub-contracted and fg item rate is zero
# in that case if account for source and target warehouse are same,
@@ -1164,6 +1168,15 @@ def update_billed_amount_based_on_po(po_details, update_modified=True, pr_doc=No
billed_amt_against_pr = flt(flt(billed_amt_against_po) * flt(pr_item.qty)) / flt(
billed_qty_against_po
)
+
+ # Deduct the amount and qty consumed by this PR so that the next PR
+ # against the same PO Item does not get billed for the same amount again.
+ po_billed_amt_details[pr_item.purchase_order_item]["billed_amt"] = (
+ billed_amt_against_po - billed_amt_against_pr
+ )
+ po_billed_amt_details[pr_item.purchase_order_item]["billed_qty"] = (
+ billed_qty_against_po - pr_item.qty
+ )
else:
pending_to_bill = flt(pr_item.amount) - billed_amt_against_pr
if pending_to_bill <= billed_amt_against_po:
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index f7fba10ac5c..4e9dc7f747a 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -1,6 +1,8 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
+from unittest.mock import patch
+
import frappe
from frappe.utils import add_days, cint, cstr, flt, get_datetime, getdate, nowtime, today
from pypika import functions as fn
@@ -762,6 +764,174 @@ class TestPurchaseReceipt(ERPNextTestSuite):
po.reload()
po.cancel()
+ def test_pr_billing_status_for_po_invoice_across_multiple_receipts(self):
+ """When a Purchase Invoice is raised directly from a PO and the invoiced qty
+ spans more than one Purchase Receipt, the billed amount must be split between
+ the receipts (FIFO), not duplicated. A receipt with no amount left to consume
+ must not show as fully billed / Completed.
+
+ Flow:
+ 1. PO (Qty: 10, Rate: 500) -> PI for Qty 5 (Amount 2500)
+ 2. PO -> PR1 (Qty 3) -> gets 1500 billed (fully billed)
+ 3. PO -> PR2 (Qty 3) -> gets the remaining 1000 billed (partly billed)
+ """
+ from erpnext.buying.doctype.purchase_order.purchase_order import (
+ make_purchase_invoice as make_purchase_invoice_from_po,
+ )
+ from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+
+ # Qty: 10, Rate: 500
+ po = create_purchase_order()
+
+ pi = make_purchase_invoice_from_po(po.name)
+ pi.get("items")[0].qty = 5
+ pi.submit()
+
+ pr1 = make_purchase_receipt(po.name)
+ pr1.posting_date = today()
+ pr1.posting_time = "08:00"
+ pr1.get("items")[0].received_qty = 3
+ pr1.get("items")[0].qty = 3
+ pr1.submit()
+
+ pr2 = make_purchase_receipt(po.name)
+ pr2.posting_date = today()
+ pr2.posting_time = "10:00"
+ pr2.get("items")[0].received_qty = 3
+ pr2.get("items")[0].qty = 3
+ pr2.submit()
+
+ # PR1 consumes 3 * 500 = 1500 out of the 2500 invoiced -> fully billed.
+ pr1.load_from_db()
+ self.assertEqual(pr1.get("items")[0].billed_amt, 1500)
+ self.assertEqual(pr1.per_billed, 100)
+ self.assertEqual(pr1.status, "Completed")
+
+ # PR2 must only get the remaining 1000 (not 1500 again) -> partly billed.
+ pr2.load_from_db()
+ self.assertEqual(pr2.get("items")[0].billed_amt, 1000)
+ self.assertEqual(flt(pr2.per_billed, 2), 66.67)
+ self.assertEqual(pr2.status, "Partly Billed")
+
+ from erpnext.patches.v16_0 import recalculate_purchase_receipt_billing_status
+
+ purchase_order_item = po.items[0].name
+ with patch.object(
+ recalculate_purchase_receipt_billing_status,
+ "get_candidate_purchase_order_items",
+ return_value=[purchase_order_item],
+ ):
+ self.assertEqual(
+ recalculate_purchase_receipt_billing_status.get_affected_purchase_order_items(), []
+ )
+
+ frappe.db.set_value(
+ "Purchase Receipt Item",
+ pr2.items[0].name,
+ "billed_amt",
+ 1500,
+ update_modified=False,
+ )
+ frappe.db.set_value(
+ "Purchase Receipt",
+ pr2.name,
+ {"per_billed": 100, "status": "Completed"},
+ update_modified=False,
+ )
+
+ self.assertEqual(
+ recalculate_purchase_receipt_billing_status.get_affected_purchase_order_items(),
+ [purchase_order_item],
+ )
+ recalculate_purchase_receipt_billing_status.execute()
+ self.assertEqual(
+ recalculate_purchase_receipt_billing_status.get_affected_purchase_order_items(), []
+ )
+
+ pr2.load_from_db()
+ self.assertEqual(pr2.get("items")[0].billed_amt, 1000)
+ self.assertEqual(flt(pr2.per_billed, 2), 66.67)
+ self.assertEqual(pr2.status, "Partly Billed")
+
+ pr2.cancel()
+ pr1.reload()
+ pr1.cancel()
+ pi.reload()
+ pi.cancel()
+ po.reload()
+ po.cancel()
+
+ def test_billing_repair_patch_skips_invoice_created_receipts(self):
+ """A Purchase Receipt created from a Purchase Invoice keeps billed_amt = amount
+ by definition. When such a receipt coexists with a receipt made directly from
+ the PO, the stored total can exceed the PO-invoiced amount, but the repair
+ patch must leave those PO Items alone instead of stripping the invoice-created
+ receipt.
+
+ Flow:
+ 1. PO (Qty: 10, Rate: 500) -> PI for Qty 5 (Amount 2500)
+ 2. PO -> PR1 (Qty 5, direct) -> absorbs the full 2500 (fully billed)
+ 3. PI -> PR2 (Qty 5, created from the invoice) -> billed 2500 via invoice link
+ """
+ from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import (
+ make_purchase_receipt as make_purchase_receipt_from_pi,
+ )
+ from erpnext.buying.doctype.purchase_order.purchase_order import (
+ make_purchase_invoice as make_purchase_invoice_from_po,
+ )
+ from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+
+ po = create_purchase_order()
+
+ pi = make_purchase_invoice_from_po(po.name)
+ pi.get("items")[0].qty = 5
+ pi.submit()
+
+ pr_direct = make_purchase_receipt(po.name)
+ pr_direct.get("items")[0].received_qty = 5
+ pr_direct.get("items")[0].qty = 5
+ pr_direct.submit()
+
+ pr_direct.load_from_db()
+ self.assertEqual(pr_direct.get("items")[0].billed_amt, 2500)
+ self.assertEqual(pr_direct.per_billed, 100)
+
+ pr_from_invoice = make_purchase_receipt_from_pi(pi.name)
+ pr_from_invoice.submit()
+
+ pr_from_invoice.load_from_db()
+ self.assertEqual(pr_from_invoice.get("items")[0].billed_amt, 2500)
+ self.assertEqual(pr_from_invoice.per_billed, 100)
+
+ from erpnext.patches.v16_0 import recalculate_purchase_receipt_billing_status
+
+ purchase_order_item = po.items[0].name
+ with patch.object(
+ recalculate_purchase_receipt_billing_status,
+ "get_candidate_purchase_order_items",
+ return_value=[purchase_order_item],
+ ):
+ self.assertEqual(
+ recalculate_purchase_receipt_billing_status.get_affected_purchase_order_items(), []
+ )
+ recalculate_purchase_receipt_billing_status.execute()
+
+ pr_direct.load_from_db()
+ self.assertEqual(pr_direct.get("items")[0].billed_amt, 2500)
+ pr_from_invoice.load_from_db()
+ self.assertEqual(pr_from_invoice.get("items")[0].billed_amt, 2500)
+ self.assertEqual(pr_from_invoice.status, "Completed")
+
+ pr_from_invoice.cancel()
+ pr_direct.reload()
+ pr_direct.cancel()
+ pi.reload()
+ pi.cancel()
+ po.reload()
+ po.cancel()
+
def test_serial_no_against_purchase_receipt(self):
item_code = "Test Manual Created Serial No"
if not frappe.db.exists("Item", item_code):
@@ -5611,6 +5781,66 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(frappe.parse_json(stock_queue), [[20, 0.0]])
+ def test_purchase_return_valuation_for_batchwise_valuation_batch(self):
+ from erpnext.controllers.sales_and_purchase_return import make_return_doc
+ from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
+
+ item_code = make_item(
+ "Test Purchase Return Batchwise Valn Item",
+ {
+ "is_stock_item": 1,
+ "has_batch_no": 1,
+ "batch_number_series": "BN-TPRBWV-.#####",
+ },
+ ).name
+
+ batch_no = "BN-TPRBWV-00001"
+ batch = frappe.new_doc("Batch").update({"batch_id": batch_no, "item": item_code}).insert()
+ self.assertEqual(batch.use_batchwise_valuation, 1)
+
+ warehouse = "_Test Warehouse - _TC"
+ pr = make_purchase_receipt(
+ item_code=item_code,
+ qty=100,
+ rate=1000,
+ warehouse=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ )
+ make_purchase_receipt(
+ item_code=item_code,
+ qty=100,
+ rate=400,
+ warehouse=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ )
+ create_delivery_note(
+ item_code=item_code,
+ qty=100,
+ warehouse=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ )
+
+ return_pr = make_return_doc("Purchase Receipt", pr.name)
+ return_pr.submit()
+
+ sle = frappe.db.get_value(
+ "Stock Ledger Entry",
+ {"voucher_no": return_pr.name, "is_cancelled": 0},
+ ["stock_value_difference", "qty_after_transaction", "stock_value", "serial_and_batch_bundle"],
+ as_dict=True,
+ )
+ self.assertEqual(flt(sle.qty_after_transaction), 0.0)
+ self.assertEqual(flt(sle.stock_value_difference, 2), -70000.0)
+ self.assertEqual(flt(sle.stock_value, 2), 0.0)
+
+ rate = frappe.db.get_value(
+ "Serial and Batch Entry", {"parent": sle.serial_and_batch_bundle}, "incoming_rate"
+ )
+ self.assertEqual(flt(rate, 2), 700.0)
+
def test_negative_stock_error_for_purchase_return(self):
from erpnext.controllers.sales_and_purchase_return import make_return_doc
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
index 9202fd84862..fbb3e2b75d9 100644
--- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
+++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -290,6 +290,7 @@
"label": "Conversion Factor",
"oldfieldname": "conversion_factor",
"oldfieldtype": "Currency",
+ "precision": "9",
"print_hide": 1,
"print_width": "100px",
"reqd": 1,
@@ -1149,7 +1150,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2026-04-29 16:01:34.154697",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt Item",
diff --git a/erpnext/stock/doctype/putaway_rule/putaway_rule.json b/erpnext/stock/doctype/putaway_rule/putaway_rule.json
index 90f486f2352..38ef543632a 100644
--- a/erpnext/stock/doctype/putaway_rule/putaway_rule.json
+++ b/erpnext/stock/doctype/putaway_rule/putaway_rule.json
@@ -106,12 +106,13 @@
"fieldtype": "Float",
"label": "Conversion Factor",
"no_copy": 1,
+ "precision": "9",
"read_only": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
- "modified": "2024-07-08 09:19:26.711470",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Putaway Rule",
diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.py b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
index f213656fcd4..58fa5a56a60 100644
--- a/erpnext/stock/doctype/quality_inspection/quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
@@ -265,6 +265,9 @@ class QualityInspection(Document):
self.modified,
)
+ if self.reference_type and self.reference_name:
+ frappe.get_lazy_doc(self.reference_type, self.reference_name).notify_update()
+
def inspect_and_set_status(self):
for reading in self.readings:
if not reading.manual_inspection: # dont auto set status if manual
diff --git a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
index 7284c71ab20..4988deb008d 100644
--- a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
@@ -2,6 +2,7 @@
# See license.txt
from contextlib import contextmanager
+from unittest.mock import patch
import frappe
from frappe.utils import nowdate
@@ -78,6 +79,27 @@ class TestQualityInspection(ERPNextTestSuite):
qa.delete()
dn.delete()
+ def test_doc_update_published_for_reference_on_submit(self):
+ """Submitting a QI publishes doc_update so open reference forms resync their timestamp."""
+ dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
+ qa = create_quality_inspection(
+ reference_type="Delivery Note", reference_name=dn.name, do_not_submit=True
+ )
+
+ with patch.object(frappe, "publish_realtime") as publish_realtime:
+ qa.submit()
+
+ reference_updates = [
+ call
+ for call in publish_realtime.call_args_list
+ if call.args and call.args[0] == "doc_update" and call.kwargs.get("docname") == dn.name
+ ]
+ self.assertEqual(len(reference_updates), 1)
+
+ message = reference_updates[0].args[1]
+ self.assertEqual(message["doctype"], "Delivery Note")
+ self.assertEqual(message["modified"], frappe.db.get_value("Delivery Note", dn.name, "modified"))
+
def test_value_based_qi_readings(self):
# Test QI based on acceptance values (Non formula)
dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
diff --git a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
index a941b64856a..780210126f4 100644
--- a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
+++ b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
@@ -480,6 +480,55 @@ class TestRepostItemValuation(ERPNextTestSuite, StockTestMixin):
# incoming rate after reposting should be 150
self.assertSLEs(se, [{"incoming_rate": 150}])
+ def test_repost_multi_line_moving_average_return(self):
+ from erpnext.controllers.sales_and_purchase_return import make_return_doc
+
+ item = self.make_item(properties={"valuation_method": "Moving Average"}).name
+ warehouse = "_Test Warehouse - _TC"
+
+ make_purchase_receipt(item_code=item, qty=100, rate=100, warehouse=warehouse)
+
+ pr = make_purchase_receipt(item_code=item, qty=400, rate=200, warehouse=warehouse, do_not_submit=1)
+ for qty in (100, 300, 100):
+ pr.append(
+ "items",
+ {
+ "item_code": item,
+ "warehouse": warehouse,
+ "qty": qty,
+ "received_qty": qty,
+ "rate": 200,
+ "uom": pr.items[0].uom,
+ "conversion_factor": 1.0,
+ },
+ )
+ pr.save()
+ pr.submit()
+
+ return_pr = make_return_doc(pr.doctype, pr.name)
+ return_pr.save()
+ return_pr.submit()
+
+ expected_sles = [
+ {"outgoing_rate": 190.0, "valuation_rate": 190.0, "qty_after_transaction": 600.0},
+ {"outgoing_rate": 190.0, "valuation_rate": 190.0, "qty_after_transaction": 500.0},
+ {"outgoing_rate": 190.0, "valuation_rate": 190.0, "qty_after_transaction": 200.0},
+ {"outgoing_rate": 190.0, "valuation_rate": 190.0, "qty_after_transaction": 100.0},
+ ]
+
+ for _ in range(2):
+ riv = frappe.get_doc(
+ doctype="Repost Item Valuation",
+ based_on="Transaction",
+ voucher_type=pr.doctype,
+ voucher_no=pr.name,
+ posting_date=pr.posting_date,
+ posting_time=pr.posting_time,
+ )
+ riv.submit()
+
+ self.assertSLEs(return_pr, expected_sles)
+
def test_remove_attached_file(self):
item_code = make_item("_Test Remove Attached File Item", properties={"is_stock_item": 1})
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 b93f3aacc30..cd141849eed 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
@@ -414,6 +414,13 @@ class SerialandBatchBundle(Document):
valuation_method = get_valuation_method(self.item_code, self.company)
+ # An outward return must go out at the batch's current average rate for a
+ # batchwise valuation batch. The original receipt rate is only correct while
+ # the batch still holds stock at that rate; once other receipts have changed
+ # the average, removing at the original rate strands a residue in the batch
+ # value (negative when returning the costlier receipt).
+ batchwise_avg_rates = self.get_batchwise_return_avg_rates()
+
stock_queue = []
non_batchwise_batches = []
if not self.has_serial_no and valuation_method == "FIFO":
@@ -447,6 +454,12 @@ class SerialandBatchBundle(Document):
batches = sorted(list(valuation_details["batches"].keys()))
valuation_rate = valuation_details["batches"].get(batches[cint(row.idx) - 1])
+ # a batch with an available balance goes out at its current average rate (a
+ # valid 0.0 included); the original receipt rate applies only when there is
+ # no balance to average
+ if not row.serial_no and row.batch_no in batchwise_avg_rates:
+ valuation_rate = batchwise_avg_rates[row.batch_no]
+
row.incoming_rate = flt(valuation_rate)
row.stock_value_difference = flt(row.qty) * flt(row.incoming_rate)
@@ -475,6 +488,43 @@ class SerialandBatchBundle(Document):
elif self.type_of_transaction == "Inward":
self.set_incoming_rate_for_inward_transaction(row, save, prev_sle=prev_sle)
+ def get_batchwise_return_avg_rates(self):
+ from erpnext.stock.utils import get_valuation_method
+
+ if self.type_of_transaction != "Outward" or self.has_serial_no:
+ return {}
+
+ batch_nos = [d.batch_no for d in self.entries if d.batch_no]
+ if not batch_nos:
+ return {}
+
+ if get_valuation_method(
+ self.item_code, self.company
+ ) == "Moving Average" and frappe.db.get_single_value(
+ "Stock Settings", "do_not_use_batchwise_valuation"
+ ):
+ return {}
+
+ batchwise_batches = frappe.get_all(
+ "Batch",
+ filters={"name": ("in", batch_nos), "use_batchwise_valuation": 1},
+ pluck="name",
+ )
+ if not batchwise_batches:
+ return {}
+
+ # scoped to batchwise batches only, so BatchNoValuation's non-batchwise
+ # machinery never runs for them
+ sle = self.get_sle_for_outward_transaction()
+ sle.batch_nos = {batch_no: sle.batch_nos[batch_no] for batch_no in batchwise_batches}
+ sle.batchwise_valuation_batches = batchwise_batches
+ sn_obj = BatchNoValuation(sle=sle, item_code=self.item_code, warehouse=self.warehouse)
+ return {
+ batch_no: abs(flt(sn_obj.batch_avg_rate.get(batch_no)))
+ for batch_no in batchwise_batches
+ if flt(sn_obj.available_qty.get(batch_no))
+ }
+
def validate_returned_serial_batch_no(self, return_against, row, original_inv_details):
if frappe.flags.through_repost_item_valuation and not frappe.in_test:
return
diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/test_serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/test_serial_and_batch_bundle.py
index a566ab8216e..2202987c83e 100644
--- a/erpnext/stock/doctype/serial_and_batch_bundle/test_serial_and_batch_bundle.py
+++ b/erpnext/stock/doctype/serial_and_batch_bundle/test_serial_and_batch_bundle.py
@@ -4,7 +4,7 @@
import json
import frappe
-from frappe.utils import flt, nowtime, today
+from frappe.utils import add_days, add_to_date, flt, nowtime, today
from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.serial_and_batch_bundle.serial_and_batch_bundle import (
@@ -1601,3 +1601,190 @@ class TestSerialandBatchBundleLogic(ERPNextTestSuite):
self.assertNotIn(bundles[1], bundle_wise_serial_nos)
self.assertEqual(bundle_wise_serial_nos[bundles[0]], [serial_no])
+
+ @ERPNextTestSuite.change_settings(
+ "Stock Settings", {"auto_create_serial_and_batch_bundle_for_outward": 1}
+ )
+ def test_batchwise_valuation_for_same_posting_datetime_entries(self):
+ # an inward at a different rate and multiple outward rows with the same
+ # item and warehouse share the same posting datetime, the tie-breaking
+ # must include the same-timestamp entries which are already part of the
+ # ledger and must not let the outward rows count each other
+ item_code = make_item(
+ "Test Batchwise Same Posting Datetime Item 1",
+ properties={
+ "is_stock_item": 1,
+ "has_batch_no": 1,
+ "create_new_batch": 1,
+ "batch_number_series": "TBSPD-ITEM1-.#####",
+ "valuation_method": "FIFO",
+ },
+ ).name
+
+ warehouse = "_Test Warehouse - _TC"
+
+ receipt = make_stock_entry(
+ item_code=item_code,
+ qty=10,
+ rate=100,
+ target=warehouse,
+ posting_date=add_days(today(), -5),
+ posting_time="12:00:00",
+ )
+
+ batch_no = get_batch_from_bundle(receipt.items[0].serial_and_batch_bundle)
+ self.assertTrue(frappe.db.get_value("Batch", batch_no, "use_batchwise_valuation"))
+
+ # same posting datetime as the outward rows below, at a different rate
+ make_stock_entry(
+ item_code=item_code,
+ qty=20,
+ rate=250,
+ target=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ posting_date=add_days(today(), -3),
+ posting_time="12:00:00",
+ )
+
+ issue = make_stock_entry(
+ item_code=item_code,
+ qty=2,
+ source=warehouse,
+ posting_date=add_days(today(), -3),
+ posting_time="12:00:00",
+ do_not_save=True,
+ )
+
+ for qty in [3, 4]:
+ issue.append(
+ "items",
+ {
+ "item_code": item_code,
+ "s_warehouse": warehouse,
+ "qty": qty,
+ "conversion_factor": 1,
+ },
+ )
+
+ issue.save()
+ issue.submit()
+
+ # (10 * 100 + 20 * 250) / 30 = 200
+ self.assert_batchwise_outgoing_rate(item_code, outgoing_rate=200.0, balance_value=4200.0)
+
+ # backdated receipt reposts the same posting datetime cluster
+ make_stock_entry(
+ item_code=item_code,
+ qty=10,
+ rate=100,
+ target=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ posting_date=add_days(today(), -4),
+ posting_time="12:00:00",
+ )
+
+ # (20 * 100 + 20 * 250) / 40 = 175
+ self.assert_batchwise_outgoing_rate(item_code, outgoing_rate=175.0, balance_value=5425.0)
+
+ @ERPNextTestSuite.change_settings(
+ "Stock Settings", {"auto_create_serial_and_batch_bundle_for_outward": 1}
+ )
+ def test_batchwise_valuation_when_bundle_created_before_the_sle(self):
+ # a bundle can be created (drafted) much before / after its SLE, the
+ # tie-breaking for the same posting datetime entries must follow the
+ # SLE creation and not the bundle creation
+ item_code = make_item(
+ "Test Batchwise Same Posting Datetime Item 2",
+ properties={
+ "is_stock_item": 1,
+ "has_batch_no": 1,
+ "create_new_batch": 1,
+ "batch_number_series": "TBSPD-ITEM2-.#####",
+ "valuation_method": "FIFO",
+ },
+ ).name
+
+ warehouse = "_Test Warehouse - _TC"
+
+ receipt = make_stock_entry(
+ item_code=item_code,
+ qty=10,
+ rate=100,
+ target=warehouse,
+ posting_date=add_days(today(), -5),
+ posting_time="12:00:00",
+ )
+
+ batch_no = get_batch_from_bundle(receipt.items[0].serial_and_batch_bundle)
+
+ # inward at a different rate, same posting datetime as the outward below
+ inward = make_stock_entry(
+ item_code=item_code,
+ qty=10,
+ rate=200,
+ target=warehouse,
+ batch_no=batch_no,
+ use_serial_batch_fields=1,
+ posting_date=add_days(today(), -3),
+ posting_time="12:00:00",
+ )
+
+ outward = make_stock_entry(
+ item_code=item_code,
+ qty=10,
+ source=warehouse,
+ posting_date=add_days(today(), -3),
+ posting_time="12:00:00",
+ )
+
+ # simulate the inward's bundle drafted after the outward's SLE, the
+ # bundle creation timeline no longer matches the SLE creation timeline
+ outward_sle_creation = frappe.db.get_value(
+ "Stock Ledger Entry",
+ {"voucher_no": outward.name, "is_cancelled": 0},
+ "creation",
+ )
+
+ frappe.db.set_value(
+ "Serial and Batch Bundle",
+ inward.items[0].serial_and_batch_bundle,
+ "creation",
+ add_to_date(outward_sle_creation, minutes=30),
+ update_modified=False,
+ )
+
+ repost = frappe.get_doc(
+ {
+ "doctype": "Repost Item Valuation",
+ "based_on": "Item and Warehouse",
+ "item_code": item_code,
+ "warehouse": warehouse,
+ "posting_date": add_days(today(), -6),
+ "posting_time": "00:00:00",
+ "allow_negative_stock": 1,
+ }
+ )
+
+ repost.submit()
+
+ # (10 * 100 + 10 * 200) / 20 = 150, the inward precedes the outward as
+ # per the SLE creation even though its bundle was created afterwards
+ self.assert_batchwise_outgoing_rate(item_code, outgoing_rate=150.0, balance_value=1500.0)
+
+ def assert_batchwise_outgoing_rate(self, item_code, outgoing_rate, balance_value):
+ sl_entries = frappe.get_all(
+ "Stock Ledger Entry",
+ filters={"item_code": item_code, "is_cancelled": 0},
+ fields=["actual_qty", "stock_value_difference", "stock_value"],
+ order_by="posting_datetime, creation",
+ )
+
+ for sle in sl_entries:
+ if sle.actual_qty > 0:
+ continue
+
+ self.assertEqual(flt(sle.stock_value_difference, 2), flt(sle.actual_qty * outgoing_rate, 2))
+
+ self.assertEqual(flt(sl_entries[-1].stock_value, 2), flt(balance_value, 2))
diff --git a/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py b/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py
index 5c523cc560e..30471ad817d 100644
--- a/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py
+++ b/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py
@@ -10,9 +10,51 @@ from frappe.desk.form.load import get_attachments
from frappe.model.document import Document
from frappe.utils import add_days, get_date_str, get_link_to_form, nowtime, parse_json
from frappe.utils.background_jobs import enqueue
+from frappe.utils.caching import request_cache
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
+SCOPE_FIELDS = ("warehouse", "item_code", "item_group", "warehouse_type")
+
+
+def apply_unscoped_filters(filters):
+ meta = frappe.get_meta("Stock Closing Entry")
+ for fieldname in SCOPE_FIELDS:
+ if meta.has_field(fieldname):
+ filters[fieldname] = ("is", "not set")
+
+ return filters
+
+
+def get_closing_entry_for_closed_period(company):
+ closed_upto = frappe.db.get_value(
+ "Period Closing Voucher", {"docstatus": 1, "company": company}, [{"MAX": "period_end_date"}]
+ )
+ if not closed_upto:
+ return None
+
+ return _get_completed_closing_entry(company, str(closed_upto))
+
+
+@request_cache
+def _get_completed_closing_entry(company, closed_upto):
+ filters = apply_unscoped_filters(
+ {
+ "company": company,
+ "docstatus": 1,
+ "status": "Completed",
+ "to_date": ("<=", closed_upto),
+ }
+ )
+
+ return frappe.db.get_value(
+ "Stock Closing Entry",
+ filters,
+ ["name", "to_date"],
+ order_by="to_date desc",
+ as_dict=True,
+ )
+
class StockClosingEntry(Document):
# begin: auto-generated types
@@ -68,7 +110,7 @@ class StockClosingEntry(Document):
)
)
- for fieldname in ["warehouse", "item_code", "item_group", "warehouse_type"]:
+ for fieldname in SCOPE_FIELDS:
if self.get(fieldname):
query = query.where(table[fieldname] == self.get(fieldname))
@@ -86,14 +128,30 @@ class StockClosingEntry(Document):
self.enqueue_job()
def on_cancel(self):
+ self.validate_closed_period_lock()
self.set_status(save=True)
self.remove_stock_closing()
+ def validate_closed_period_lock(self):
+ pcv = frappe.db.get_value(
+ "Period Closing Voucher",
+ {"company": self.company, "docstatus": 1, "period_end_date": (">=", self.to_date)},
+ "name",
+ )
+
+ if pcv:
+ frappe.throw(
+ _(
+ "Stock Closing Entry {0} belongs to a closed accounting period. Cancel the Period Closing Voucher {1} first."
+ ).format(self.name, get_link_to_form("Period Closing Voucher", pcv)),
+ title=_("Closed Period"),
+ )
+
def remove_stock_closing(self):
table = frappe.qb.DocType("Stock Closing Balance")
frappe.qb.from_(table).delete().where(table.stock_closing_entry == self.name).run()
- @frappe.whitelist()
+ @frappe.whitelist(methods=["POST"])
def enqueue_job(self):
self.db_set("status", "In Progress")
enqueue(prepare_closing_stock_balance, name=self.name, queue="long", timeout=1500)
@@ -103,8 +161,9 @@ class StockClosingEntry(Document):
).format(self.name)
)
- @frappe.whitelist()
+ @frappe.whitelist(methods=["POST"])
def regenerate_closing_balance(self):
+ self.validate_closed_period_lock()
self.remove_stock_closing()
self.enqueue_job()
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 6f8a4644a56..cd442909b1c 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -296,6 +296,7 @@ class StockEntry(StockController, SubcontractingInwardController):
self.validate_batch()
self.validate_inspection()
self.validate_fg_completed_qty()
+ self.validate_job_card_pending_production()
self.validate_difference_account()
self.set_job_card_data()
self.validate_job_card_item()
@@ -3192,21 +3193,11 @@ class StockEntry(StockController, SubcontractingInwardController):
return
precision = self.precision("process_loss_qty")
- if self.work_order:
- data = frappe.get_all(
- "Work Order Operation",
- filters={"parent": self.work_order},
- fields=[{"MAX": "process_loss_qty", "as": "process_loss_qty"}],
- )
+ process_loss_qty = self.get_pending_process_loss_qty()
+ if process_loss_qty and flt(self.process_loss_qty, precision) != flt(process_loss_qty, precision):
+ self.process_loss_qty = flt(process_loss_qty, precision)
- if data and data[0].process_loss_qty:
- process_loss_qty = data[0].process_loss_qty
- if flt(self.process_loss_qty, precision) != flt(process_loss_qty, precision):
- self.process_loss_qty = flt(process_loss_qty, precision)
-
- frappe.msgprint(
- _("The Process Loss Qty has reset as per job cards Process Loss Qty"), alert=True
- )
+ frappe.msgprint(_("The Process Loss Qty has reset as per job cards Process Loss Qty"), alert=True)
if not self.process_loss_percentage and not self.process_loss_qty:
self.process_loss_percentage = frappe.get_cached_value(
@@ -3222,6 +3213,62 @@ class StockEntry(StockController, SubcontractingInwardController):
(flt(self.process_loss_qty) / flt(self.fg_completed_qty)) * 100
)
+ def validate_job_card_pending_production(self):
+ """A draft created before other entries were submitted must not book more than the job
+ card still has left; without this, a stale draft over-produces the finished good."""
+ if self.purpose != "Manufacture" or not self.job_card:
+ return
+
+ if self._action == "update_after_submit":
+ return
+
+ job_card = frappe.get_doc("Job Card", self.job_card)
+ if job_card.is_corrective_job_card or job_card.is_subcontracted:
+ return
+
+ precision = frappe.get_precision("Stock Entry Detail", "qty")
+ pending_qty = flt(
+ flt(job_card.for_quantity)
+ - flt(job_card.pending_qty)
+ - flt(job_card.manufactured_qty)
+ - flt(job_card.get_consumed_process_loss()),
+ precision,
+ )
+ finished_qty = flt(sum(flt(d.transfer_qty) for d in self.items if d.is_finished_item), precision)
+ entry_qty = flt(finished_qty + flt(self.process_loss_qty), precision)
+
+ if entry_qty > pending_qty:
+ item_code = job_card.finished_good or job_card.production_item
+ uom = frappe.get_cached_value("Item", item_code, "stock_uom")
+ frappe.throw(
+ _(
+ "The Job Card {0} has only {1} left to produce, but this entry books {2} ({3} finished goods and {4} process loss). Cancel or update its other manufacture entries first."
+ ).format(
+ frappe.bold(self.job_card),
+ frappe.bold(f"{pending_qty} {uom}"),
+ frappe.bold(f"{entry_qty} {uom}"),
+ f"{finished_qty} {uom}",
+ f"{flt(self.process_loss_qty, precision)} {uom}",
+ )
+ )
+
+ def get_pending_process_loss_qty(self):
+ """Loss this entry should still book: the job card's unbooked loss when the entry
+ belongs to one, else the largest operation loss on the work order (legacy flow)."""
+ if self.job_card:
+ job_card = frappe.get_doc("Job Card", self.job_card)
+ return max(flt(job_card.process_loss_qty) - flt(job_card.get_consumed_process_loss()), 0)
+
+ if self.work_order:
+ data = frappe.get_all(
+ "Work Order Operation",
+ filters={"parent": self.work_order},
+ fields=[{"MAX": "process_loss_qty", "as": "process_loss_qty"}],
+ )
+ return flt(data[0].process_loss_qty) if data else 0
+
+ return 0
+
def set_work_order_details(self):
if not getattr(self, "pro_doc", None):
self.pro_doc = frappe._dict()
diff --git a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
index ad941013153..defb69d548b 100644
--- a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
+++ b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -255,6 +255,7 @@
"label": "Conversion Factor",
"oldfieldname": "conversion_factor",
"oldfieldtype": "Currency",
+ "precision": "9",
"print_hide": 1,
"reqd": 1
},
@@ -689,7 +690,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-07-06 18:17:18.000000",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry Detail",
diff --git a/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py b/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py
index 6a809d6f1b2..39e77f0929d 100644
--- a/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py
+++ b/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py
@@ -125,6 +125,8 @@ class ManufactureEntry:
if backflush_based_on != "BOM":
available_serial_batches = self.get_transferred_serial_batches()
+ production_share = self.get_production_share()
+ items_to_remove = []
for item_code, _dict in item_dict.items():
_dict.from_warehouse = self.source_wh.get(item_code) or self.wip_warehouse
_dict.to_warehouse = ""
@@ -138,11 +140,33 @@ class ManufactureEntry:
_dict.qty = calculated_qty
self.update_available_serial_batches(_dict, available_serial_batches)
- elif self.skip_material_transfer:
- set_previous_operation_serial_batch(self.stock_entry, _dict)
+ else:
+ remaining_qty = max(flt(_dict.qty) - flt(_dict.consumed_qty), 0)
+ _dict.qty = min(flt(_dict.qty) * production_share, remaining_qty)
+ if not _dict.qty:
+ items_to_remove.append(item_code)
+ continue
+
+ if self.skip_material_transfer:
+ set_previous_operation_serial_batch(self.stock_entry, _dict)
+
+ for item_code in items_to_remove:
+ item_dict.pop(item_code)
self.stock_entry.add_to_stock_entry_detail(item_dict)
+ def get_production_share(self):
+ """Fraction of the job card's production this entry accounts for; raw materials are
+ generated proportionally so several partial entries never consume more than required."""
+ for_quantity, pending_qty = frappe.db.get_value(
+ "Job Card", self.job_card, ["for_quantity", "pending_qty"]
+ )
+ qty_to_produce = flt(for_quantity) - flt(pending_qty)
+ if not qty_to_produce:
+ return 1
+
+ return min(flt(self.for_quantity) / qty_to_produce, 1)
+
def parse_available_serial_batches(self, item_dict, available_serial_batches):
key = (item_dict.item_code, item_dict.from_warehouse)
if key not in available_serial_batches:
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 837c4027c3c..d01434f35a0 100644
--- a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
@@ -1064,7 +1064,7 @@ def get_ssb_bundle_for_voucher(sre: dict) -> object:
def has_reserved_stock(voucher_type: str, voucher_no: str, voucher_detail_no: str | None = None) -> bool:
"""Returns True if there is any Stock Reservation Entry for the given voucher."""
- if get_stock_reservation_entries_for_voucher(
+ if _get_stock_reservation_entries_for_voucher(
voucher_type, voucher_no, voucher_detail_no, fields=["name"], ignore_status=True
):
return True
@@ -1800,7 +1800,7 @@ def cancel_stock_reservation_entries(
sre_list = {}
if voucher_type and voucher_no:
- sre_list = get_stock_reservation_entries_for_voucher(
+ sre_list = _get_stock_reservation_entries_for_voucher(
voucher_type, voucher_no, voucher_detail_no, fields=["name"]
)
elif from_voucher_type and from_voucher_no:
@@ -1843,6 +1843,21 @@ def get_stock_reservation_entries_for_voucher(
) -> list[dict]:
"""Returns list of Stock Reservation Entries against a Voucher."""
+ return _get_stock_reservation_entries_for_voucher(
+ voucher_type, voucher_no, voucher_detail_no, fields, ignore_status, ignore_permissions=False
+ )
+
+
+def _get_stock_reservation_entries_for_voucher(
+ voucher_type: str,
+ voucher_no: str,
+ voucher_detail_no: str | None = None,
+ fields: list[str] | None = None,
+ ignore_status: bool = False,
+ ignore_permissions: bool = True,
+) -> list[dict]:
+ """Returns list of Stock Reservation Entries against a Voucher."""
+
if not fields or not isinstance(fields, list):
fields = [
"name",
@@ -1856,14 +1871,11 @@ def get_stock_reservation_entries_for_voucher(
sre = frappe.qb.DocType("Stock Reservation Entry")
query = (
- frappe.qb.from_(sre)
+ frappe.get_query(sre, fields=fields, ignore_permissions=ignore_permissions)
.where((sre.docstatus == 1) & (sre.voucher_type == voucher_type) & (sre.voucher_no == voucher_no))
.orderby(sre.creation)
)
- for field in fields:
- query = query.select(sre[field])
-
if voucher_detail_no:
query = query.where(sre.voucher_detail_no == voucher_detail_no)
diff --git a/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py
index c17e5131669..e029a0672be 100644
--- a/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py
+++ b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py
@@ -12,9 +12,9 @@ from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.stock_entry.stock_entry import StockEntry
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+ _get_stock_reservation_entries_for_voucher,
cancel_stock_reservation_entries,
get_sre_reserved_qty_details_for_voucher,
- get_stock_reservation_entries_for_voucher,
has_reserved_stock,
)
from erpnext.stock.utils import get_stock_balance
@@ -284,7 +284,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
self.assertTrue(has_reserved_stock("Sales Order", so.name))
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order", so.name, item.name, fields=["reserved_qty", "status"]
)[0]
self.assertEqual(item.stock_reserved_qty, sre_details.reserved_qty)
@@ -354,7 +354,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
dn1.submit()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order", so.name, item.name, fields=["delivered_qty", "status"]
)[0]
self.assertGreater(sre_details.delivered_qty, 0)
@@ -371,7 +371,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
dn2.submit()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order",
so.name,
item.name,
@@ -415,7 +415,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
so.load_from_db()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order", so.name, item.name, fields=["status", "reserved_qty"]
)[0]
@@ -430,7 +430,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
dn.submit()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order", so.name, item.name, fields=["status", "delivered_qty", "reserved_qty"]
)[0]
@@ -478,7 +478,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
so.load_from_db()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order",
so.name,
item.name,
@@ -539,7 +539,7 @@ class TestStockReservationEntry(ERPNextTestSuite):
so.load_from_db()
for item in so.items:
- sre_details = get_stock_reservation_entries_for_voucher(
+ sre_details = _get_stock_reservation_entries_for_voucher(
"Sales Order", so.name, item.name, fields=["reserved_qty"]
)[0]
diff --git a/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
index 2ab7f5e6600..90bf08be897 100644
--- a/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
+++ b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.json
@@ -28,7 +28,8 @@
"label": "Conversion Factor",
"non_negative": 1,
"oldfieldname": "conversion_factor",
- "oldfieldtype": "Float"
+ "oldfieldtype": "Float",
+ "precision": "9"
},
{
"fieldname": "column_break_nmeg",
@@ -38,7 +39,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2026-06-11 23:02:54.800673",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Stock",
"name": "UOM Conversion Detail",
diff --git a/erpnext/stock/doctype/warehouse/test_warehouse.py b/erpnext/stock/doctype/warehouse/test_warehouse.py
index f7bf8670f25..b5035b00e9b 100644
--- a/erpnext/stock/doctype/warehouse/test_warehouse.py
+++ b/erpnext/stock/doctype/warehouse/test_warehouse.py
@@ -117,6 +117,117 @@ class TestWarehouse(ERPNextTestSuite):
)
self.assertRaises(frappe.ValidationError, get_warehouse_account, warehouse)
+ def test_unrelated_warehouse_without_inventory_account_is_ignored(self):
+ from erpnext.stock import get_warehouse_account_map
+
+ company, warehouse = create_ambiguous_inventory_account_warehouse()
+ warehouse_account_map = get_warehouse_account_map(company)
+ resolved_warehouse = next(iter(warehouse_account_map))
+ stock_entry = frappe.get_doc({"doctype": "Stock Entry", "company": company})
+
+ self.assertNotIn(warehouse.name, warehouse_account_map)
+ self.assertTrue(
+ stock_entry.get_inventory_account_dict(
+ frappe._dict(warehouse=resolved_warehouse), warehouse_account_map
+ ).account
+ )
+ self.assertFalse(
+ stock_entry.get_inventory_account_dict(
+ frappe._dict(supplier_warehouse=warehouse.name),
+ warehouse_account_map,
+ "supplier_warehouse",
+ raise_error=False,
+ )
+ )
+
+ def test_warehouse_without_inventory_account_is_validated_when_used(self):
+ from erpnext.stock import get_warehouse_account_map
+
+ company, warehouse = create_ambiguous_inventory_account_warehouse()
+ stock_entry = frappe.get_doc({"doctype": "Stock Entry", "company": company})
+
+ with self.assertRaises(frappe.ValidationError):
+ stock_entry.get_inventory_account_dict(
+ frappe._dict(warehouse=warehouse.name), get_warehouse_account_map(company)
+ )
+
+ def test_new_warehouse_requires_inventory_account(self):
+ company, _warehouse = create_ambiguous_inventory_account_warehouse()
+ frappe.db.set_value("Company", company, "enable_perpetual_inventory", 1)
+ parent_warehouse = frappe.db.get_value("Warehouse", {"company": company, "is_group": 1}, "name")
+ frappe.db.set_value("Warehouse", parent_warehouse, "account", None)
+ warehouse = frappe.get_doc(
+ {
+ "doctype": "Warehouse",
+ "warehouse_name": "Missing Inventory Account",
+ "parent_warehouse": parent_warehouse,
+ "company": company,
+ }
+ )
+
+ self.assertRaisesRegex(frappe.ValidationError, "Missing Inventory Account - _TCIF", warehouse.insert)
+
+ def test_new_warehouse_can_inherit_inventory_account(self):
+ from erpnext.stock import get_warehouse_account
+
+ company, _warehouse = create_ambiguous_inventory_account_warehouse()
+ frappe.db.set_value("Company", company, "enable_perpetual_inventory", 1)
+ parent_warehouse = frappe.db.get_value("Warehouse", {"company": company, "is_group": 1}, "name")
+ inventory_account = frappe.db.get_value(
+ "Account", {"company": company, "account_type": "Stock", "is_group": 0}, "name"
+ )
+ frappe.db.set_value("Warehouse", parent_warehouse, "account", inventory_account)
+
+ warehouse = frappe.get_doc(
+ {
+ "doctype": "Warehouse",
+ "warehouse_name": "Inherited Inventory Account",
+ "parent_warehouse": parent_warehouse,
+ "company": company,
+ }
+ ).insert()
+
+ self.assertEqual(get_warehouse_account(warehouse), inventory_account)
+
+ def test_new_warehouse_inherits_from_parent_created_in_same_transaction(self):
+ from erpnext.stock import get_warehouse_account
+
+ company, _warehouse = create_ambiguous_inventory_account_warehouse()
+ frappe.db.set_value("Company", company, "enable_perpetual_inventory", 1)
+ root_warehouse = frappe.db.get_value("Warehouse", {"company": company, "is_group": 1}, "name")
+ inventory_account = frappe.db.get_value(
+ "Account", {"company": company, "account_type": "Stock", "is_group": 0}, "name"
+ )
+
+ parent_warehouse = frappe.get_doc(
+ {
+ "doctype": "Warehouse",
+ "warehouse_name": "New Parent Warehouse",
+ "parent_warehouse": root_warehouse,
+ "company": company,
+ "is_group": 1,
+ "account": inventory_account,
+ }
+ ).insert()
+ child_warehouse = frappe.get_doc(
+ {
+ "doctype": "Warehouse",
+ "warehouse_name": "New Child Warehouse",
+ "parent_warehouse": parent_warehouse.name,
+ "company": company,
+ }
+ ).insert()
+
+ self.assertEqual(get_warehouse_account(child_warehouse), inventory_account)
+
+ def test_warehouse_onload_allows_missing_inventory_account(self):
+ company, warehouse = create_ambiguous_inventory_account_warehouse()
+ frappe.db.set_value("Company", company, "enable_perpetual_inventory", 1)
+
+ warehouse.run_method("onload")
+
+ self.assertNotIn("account", warehouse.get_onload())
+
def create_inventory_fallback_company():
company = "_Test Company Inventory Fallback"
@@ -134,6 +245,33 @@ def create_inventory_fallback_company():
return company
+def create_ambiguous_inventory_account_warehouse():
+ company = create_inventory_fallback_company()
+ frappe.db.set_value("Company", company, "default_inventory_account", None)
+
+ single_account = frappe.db.get_value(
+ "Account", {"account_type": "Stock", "is_group": 0, "company": company}, "name"
+ )
+ warehouses = frappe.get_all(
+ "Warehouse", filters={"company": company, "is_group": 0}, pluck="name", order_by="name"
+ )
+ for warehouse_name in warehouses:
+ frappe.db.set_value("Warehouse", warehouse_name, "account", single_account)
+
+ warehouse = frappe.get_doc("Warehouse", warehouses[0])
+ warehouse.db_set({"account": None, "disabled": 0})
+
+ if not frappe.db.exists("Account", "Extra Inventory Account - _TCIF"):
+ create_account(
+ account_name="Extra Inventory Account",
+ parent_account=frappe.db.get_value("Account", single_account, "parent_account"),
+ account_type="Stock",
+ company=company,
+ )
+
+ return company, warehouse
+
+
def create_warehouse(warehouse_name, properties=None, company=None):
if not company:
company = "_Test Company"
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index a55e8351446..28cdc730680 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -62,7 +62,7 @@ class Warehouse(NestedSet):
def onload(self):
if self.company and cint(frappe.db.get_value("Company", self.company, "enable_perpetual_inventory")):
- account = self.account or get_warehouse_account(self)
+ account = self.account or get_warehouse_account(self, raise_error=False)
if account:
self.set_onload("account", account)
@@ -70,8 +70,28 @@ class Warehouse(NestedSet):
self.set_onload("stock_exists", self.check_if_sle_exists(non_cancelled_only=True))
def validate(self):
+ self.validate_inventory_account()
self.warn_about_multiple_warehouse_account()
+ def validate_inventory_account(self):
+ if (
+ not self.is_new()
+ or not self.company
+ or self.flags.ignore_inventory_account_validation
+ or not frappe.get_cached_value("Company", self.company, "enable_perpetual_inventory")
+ ):
+ return
+
+ warehouse = frappe._dict(self.as_dict())
+ if not self.account and self.parent_warehouse:
+ parent_bounds = frappe.db.get_value(
+ "Warehouse", self.parent_warehouse, ["lft", "rgt"], as_dict=True
+ )
+ if parent_bounds:
+ warehouse.update(parent_bounds)
+
+ get_warehouse_account(warehouse)
+
def on_update(self):
self.update_nsm_model()
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 53401106f32..abbac9a7710 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -43,6 +43,28 @@ purchase_doctypes = [
NOT_APPLICABLE_TAX = "N/A"
+# For each transaction, the child-row link field(s) that point to the source
+# document item, mapped to that source item doctype. When "maintain same rate" is
+# on, a mapped row keeps the persisted source pricing (read straight from that row),
+# so an unsaved edit on the target row can never lock in a non-source rate.
+maintain_same_rate_source_fields = {
+ "Purchase Order": {"supplier_quotation_item": "Supplier Quotation Item"},
+ "Purchase Receipt": {"purchase_order_item": "Purchase Order Item"},
+ "Purchase Invoice": {"po_detail": "Purchase Order Item", "pr_detail": "Purchase Receipt Item"},
+ "Sales Order": {"quotation_item": "Quotation Item"},
+ "Delivery Note": {"so_detail": "Sales Order Item", "si_detail": "Sales Invoice Item"},
+ "Sales Invoice": {"so_detail": "Sales Order Item", "dn_detail": "Delivery Note Item"},
+}
+
+LOCKED_RATE_FIELDS = [
+ "price_list_rate",
+ "rate",
+ "discount_percentage",
+ "discount_amount",
+ "margin_type",
+ "margin_rate_or_amount",
+]
+
def _preprocess_ctx(ctx):
if not ctx.price_list:
@@ -58,7 +80,12 @@ def _preprocess_ctx(ctx):
@frappe.whitelist()
@erpnext.normalize_ctx_input(ItemDetailsCtx)
-def get_item_details(ctx, doc=None, for_validate=False, overwrite_warehouse=True) -> ItemDetails:
+def get_item_details(
+ ctx: ItemDetailsCtx,
+ doc: Document | str | None = None,
+ for_validate: bool | None = False,
+ overwrite_warehouse: bool = True,
+) -> ItemDetails:
"""
ctx = {
"item_code": "",
@@ -120,16 +147,20 @@ def get_item_details(ctx, doc=None, for_validate=False, overwrite_warehouse=True
if ctx.doctype in ["Purchase Order", "Purchase Receipt", "Purchase Invoice"]:
ctx.customer = None
- out.update(get_price_list_rate(ctx, item))
+ source_row = get_rate_locked_source_row(ctx, doc)
+ if source_row:
+ lock_source_rate(out, source_row)
+ else:
+ out.update(get_price_list_rate(ctx, item))
- if (
- not out.price_list_rate
- and ctx.transaction_type == "selling"
- and frappe.get_single_value("Selling Settings", "fallback_to_default_price_list")
- ):
- fallback_args = ctx.copy()
- fallback_args.price_list = frappe.get_single_value("Selling Settings", "selling_price_list")
- out.update(get_price_list_rate(fallback_args, item))
+ if (
+ not out.price_list_rate
+ and ctx.transaction_type == "selling"
+ and frappe.get_single_value("Selling Settings", "fallback_to_default_price_list")
+ ):
+ fallback_args = ctx.copy()
+ fallback_args.price_list = frappe.get_single_value("Selling Settings", "selling_price_list")
+ out.update(get_price_list_rate(fallback_args, item))
ctx.customer = current_customer
@@ -144,9 +175,8 @@ def get_item_details(ctx, doc=None, for_validate=False, overwrite_warehouse=True
if ctx.get(key) is None:
ctx[key] = value
- data = get_pricing_rule_for_item(ctx, doc=doc, for_validate=for_validate)
-
- out.update(data)
+ if not source_row:
+ out.update(get_pricing_rule_for_item(ctx, doc=doc, for_validate=for_validate))
if (
frappe.get_single_value("Stock Settings", "auto_create_serial_and_batch_bundle_for_outward")
@@ -176,6 +206,61 @@ def remove_standard_fields(out: ItemDetails):
return out
+def get_rate_locked_source_row(ctx: ItemDetailsCtx, doc) -> frappe._dict | None:
+ """Return the persisted source-document row a mapped target row is locked to.
+
+ The rate is read from the linked source row in the database (not the mutable
+ target row), so a re-fetch always restores the source pricing the maintain-same-
+ rate validator checks against, even after an unsaved edit on the target row.
+ """
+ if isinstance(doc, str):
+ doc = json.loads(doc)
+
+ source_fields = maintain_same_rate_source_fields.get(ctx.parenttype or ctx.doctype)
+ if not source_fields or not doc or ctx.get("is_return") or not maintain_same_rate_enabled(ctx):
+ return None
+
+ row = next((d for d in doc.get("items") or [] if d.get("name") == ctx.child_docname), None)
+ if not row:
+ return None
+
+ for link_field, source_doctype in source_fields.items():
+ if source_name := row.get(link_field):
+ # a direct read would bypass permissions; only return source pricing to a
+ # caller allowed to read the source document
+ source = frappe.db.get_value(
+ source_doctype, source_name, [*LOCKED_RATE_FIELDS, "parent", "parenttype"], as_dict=True
+ )
+ if source and frappe.has_permission(source.parenttype, doc=source.parent):
+ return source
+ return None
+ return None
+
+
+def maintain_same_rate_enabled(ctx: ItemDetailsCtx) -> bool:
+ if (ctx.parenttype or ctx.doctype) in purchase_doctypes:
+ if ctx.get("is_internal_supplier"):
+ return False
+ return bool(cint(frappe.get_cached_value("Buying Settings", "None", "maintain_same_rate")))
+
+ if ctx.get("is_internal_customer"):
+ return False
+ return bool(cint(frappe.get_cached_value("Selling Settings", "None", "maintain_same_sales_rate")))
+
+
+def lock_source_rate(out: frappe._dict, source_row) -> None:
+ """Copy the source row's whole pricing block onto out so a mapped row keeps its
+ exact rate. Pricing rules are skipped for these rows, so nothing re-derives it and
+ the manual discount or margin that made rate differ from price_list_rate survives.
+ """
+ out.price_list_rate = flt(source_row.get("price_list_rate")) or flt(source_row.get("rate"))
+ out.rate = flt(source_row.get("rate"))
+ out.discount_percentage = flt(source_row.get("discount_percentage"))
+ out.discount_amount = flt(source_row.get("discount_amount"))
+ out.margin_type = source_row.get("margin_type")
+ out.margin_rate_or_amount = flt(source_row.get("margin_rate_or_amount"))
+
+
def set_valuation_rate(out: ItemDetails | dict, ctx: ItemDetailsCtx):
if frappe.db.exists("Product Bundle", {"name": ctx.item_code, "disabled": 0}, cache=True):
valuation_rate = 0.0
@@ -1614,14 +1699,21 @@ def apply_price_list(ctx, as_doc=False, doc=None):
def apply_price_list_on_item(ctx, doc=None):
item_doc = frappe.get_cached_doc("Item", ctx.item_code)
- item_details = get_price_list_rate(ctx, item_doc)
+
+ source_row = get_rate_locked_source_row(ctx, doc)
+ if source_row:
+ item_details = frappe._dict()
+ lock_source_rate(item_details, source_row)
+ else:
+ item_details = get_price_list_rate(ctx, item_doc)
ctx.conversion_factor = flt(ctx.conversion_factor) or get_conversion_factor(ctx.item_code, ctx.uom).get(
"conversion_factor", 1
)
ctx.stock_qty = flt(ctx.qty) * flt(ctx.conversion_factor)
- item_details.update(get_pricing_rule_for_item(ctx, doc=doc))
+ if not source_row:
+ item_details.update(get_pricing_rule_for_item(ctx, doc=doc))
return item_details
diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py
index e49279689f2..51460972992 100644
--- a/erpnext/stock/report/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/report/stock_ledger/stock_ledger.py
@@ -7,8 +7,10 @@ from collections import defaultdict
import frappe
from frappe import _
-from frappe.query_builder.functions import Sum
+from frappe.query_builder.functions import IfNull, Sum
from frappe.utils import cint, flt, get_datetime
+from pypika import Order
+from pypika.analytics import RowNumber
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
@@ -53,14 +55,15 @@ def execute(filters=None):
data = []
conversion_factors = []
- if opening_row:
- data.append(opening_row)
+ opening_rows = opening_row if isinstance(opening_row, list) else ([opening_row] if opening_row else [])
+ for row in opening_rows:
+ data.append(row)
conversion_factors.append(0)
actual_qty = stock_value = 0
- if opening_row:
- actual_qty = opening_row.get("qty_after_transaction")
- stock_value = opening_row.get("stock_value")
+ if opening_rows:
+ actual_qty = opening_rows[0].get("qty_after_transaction", 0)
+ stock_value = opening_rows[0].get("stock_value", 0)
available_serial_nos = {}
@@ -693,43 +696,120 @@ def get_opening_balance(filters, columns, sl_entries, inv_dimension_wise_value=N
if not (filters.item_code and filters.warehouse and filters.from_date):
return
- from erpnext.stock.stock_ledger import get_previous_sle
+ item_codes = filters.item_code
+ if isinstance(item_codes, str):
+ item_codes = [item_codes]
- project = None
- if filters.get("project") and not frappe.get_all(
- "Inventory Dimension", filters={"reference_document": "Project"}
- ):
- project = filters.get("project")
+ warehouses = get_matching_warehouses(filters.warehouse)
+ if not warehouses:
+ return
- last_entry = get_previous_sle(
- {
- "item_code": filters.item_code,
- "warehouse_condition": get_warehouse_condition(filters.warehouse),
- "posting_date": filters.from_date,
- "posting_time": "00:00:00",
- "project": project,
- },
- for_report=True,
+ sle_doctype = frappe.qb.DocType("Stock Ledger Entry")
+ sr_doctype = frappe.qb.DocType("Stock Reconciliation")
+
+ opening_reco_query = (
+ frappe.qb.from_(sle_doctype)
+ .inner_join(sr_doctype)
+ .on(sle_doctype.voucher_no == sr_doctype.name)
+ .select(sle_doctype.voucher_no)
+ .where(sle_doctype.docstatus < 2)
+ .where(sle_doctype.is_cancelled == 0)
+ .where(sle_doctype.item_code.isin(item_codes))
+ .where(sle_doctype.warehouse.isin(warehouses))
+ .where(sle_doctype.voucher_type == "Stock Reconciliation")
+ .where(sle_doctype.posting_date == filters.from_date)
+ .where(sr_doctype.purpose == "Opening Stock")
)
- # check if any SLEs are actually Opening Stock Reconciliation
- for sle in list(sl_entries):
- if (
- sle.get("voucher_type") == "Stock Reconciliation"
- and sle.posting_date == filters.from_date
- and frappe.db.get_value("Stock Reconciliation", sle.voucher_no, "purpose") == "Opening Stock"
- ):
- last_entry = sle
- sl_entries.remove(sle)
+ opening_reco_vouchers = set(opening_reco_query.run(pluck=True))
- row = {
+ if opening_reco_vouchers:
+ sl_entries[:] = [sle for sle in sl_entries if sle.get("voucher_no") not in opening_reco_vouchers]
+
+ sle_cond = (sle_doctype.posting_date < filters.from_date) | (
+ (sle_doctype.posting_date == filters.from_date) & (sle_doctype.posting_time == "00:00:00")
+ )
+ if opening_reco_vouchers:
+ sle_cond = sle_cond | (
+ (sle_doctype.posting_date == filters.from_date)
+ & (sle_doctype.voucher_no.isin(list(opening_reco_vouchers)))
+ )
+
+ subq = (
+ frappe.qb.from_(sle_doctype)
+ .select(
+ sle_doctype.qty_after_transaction,
+ sle_doctype.stock_value,
+ RowNumber()
+ .over(sle_doctype.item_code, sle_doctype.warehouse)
+ .orderby(sle_doctype.posting_datetime, sle_doctype.creation, sle_doctype.name, order=Order.desc)
+ .as_("rn"),
+ )
+ .where(sle_doctype.docstatus < 2)
+ .where(sle_doctype.is_cancelled == 0)
+ .where(sle_doctype.item_code.isin(item_codes))
+ .where(sle_doctype.warehouse.isin(warehouses))
+ .where(sle_cond)
+ )
+
+ for field in ["voucher_no", "project", "company"]:
+ if filters.get(field):
+ subq = subq.where(sle_doctype[field] == filters.get(field))
+
+ inventory_dimension_fields = get_inventory_dimension_fields()
+ if inventory_dimension_fields:
+ for fieldname in inventory_dimension_fields:
+ if filters.get(fieldname):
+ subq = subq.where(sle_doctype[fieldname].isin(filters.get(fieldname)))
+
+ query = (
+ frappe.qb.from_(subq)
+ .select(
+ IfNull(Sum(subq.qty_after_transaction), 0.0).as_("total_qty"),
+ IfNull(Sum(subq.stock_value), 0.0).as_("total_stock_value"),
+ )
+ .where(subq.rn == 1)
+ )
+
+ res = query.run(as_dict=True)
+
+ total_qty = flt(res[0].total_qty) if res else 0.0
+ total_stock_value = flt(res[0].total_stock_value) if res else 0.0
+ valuation_rate = flt(total_stock_value / total_qty) if total_qty else 0.0
+
+ return {
"item_code": _("'Opening'"),
- "qty_after_transaction": last_entry.get("qty_after_transaction", 0),
- "valuation_rate": last_entry.get("valuation_rate", 0),
- "stock_value": last_entry.get("stock_value", 0),
+ "qty_after_transaction": total_qty,
+ "valuation_rate": valuation_rate,
+ "stock_value": total_stock_value,
}
- return row
+
+def get_matching_warehouses(warehouses):
+ if not warehouses:
+ return []
+
+ if isinstance(warehouses, str):
+ warehouses = [warehouses]
+
+ warehouse_details = frappe.get_all(
+ "Warehouse",
+ filters={"name": ("in", warehouses)},
+ fields=["lft", "rgt"],
+ )
+
+ if not warehouse_details:
+ return warehouses
+
+ wh = frappe.qb.DocType("Warehouse")
+ cond = None
+ for d in warehouse_details:
+ c = (wh.lft >= d.lft) & (wh.rgt <= d.rgt)
+ cond = c if cond is None else (cond | c)
+
+ matching = (frappe.qb.from_(wh).select(wh.name).where(cond)).run(pluck=True)
+
+ return matching if matching else warehouses
def get_warehouse_condition(warehouses):
@@ -785,7 +865,15 @@ def get_opening_balance_for_inv_dimension(filters, inv_dimension_wise_value):
if not filters.item_code or not filters.warehouse or not filters.from_date:
return
- if len(filters.get("item_code")) > 1 or len(filters.get("warehouse")) > 1:
+ item_codes = filters.get("item_code")
+ if isinstance(item_codes, str):
+ item_codes = [item_codes]
+
+ warehouses = filters.get("warehouse")
+ if isinstance(warehouses, str):
+ warehouses = [warehouses]
+
+ if len(item_codes) > 1 or len(warehouses) > 1:
return
sl_doctype = frappe.qb.DocType("Stock Ledger Entry")
@@ -805,17 +893,11 @@ def get_opening_balance_for_inv_dimension(filters, inv_dimension_wise_value):
)
)
- if filters.get("item_code"):
- if isinstance(filters.item_code, list | tuple):
- query = query.where(sl_doctype.item_code.isin(filters.item_code))
- else:
- query = query.where(sl_doctype.item_code == filters.item_code)
+ if item_codes:
+ query = query.where(sl_doctype.item_code.isin(item_codes))
- if filters.get("warehouse"):
- if isinstance(filters.warehouse, list | tuple):
- query = query.where(sl_doctype.warehouse.isin(filters.warehouse))
- else:
- query = query.where(sl_doctype.warehouse == filters.warehouse)
+ if warehouses:
+ query = query.where(sl_doctype.warehouse.isin(warehouses))
for key, value in inv_dimension_wise_value.items():
if isinstance(value, list | tuple):
diff --git a/erpnext/stock/report/stock_ledger/test_stock_ledger_report.py b/erpnext/stock/report/stock_ledger/test_stock_ledger_report.py
index 8a97a64d1b3..3ab290033f9 100644
--- a/erpnext/stock/report/stock_ledger/test_stock_ledger_report.py
+++ b/erpnext/stock/report/stock_ledger/test_stock_ledger_report.py
@@ -4,18 +4,333 @@
import frappe
from frappe.utils import add_days, today
-from erpnext.maintenance.doctype.maintenance_schedule.test_maintenance_schedule import (
- make_serial_item_with_serial,
-)
+from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
+from erpnext.stock.report.stock_ledger.stock_ledger import execute
from erpnext.tests.utils import ERPNextTestSuite
+WAREHOUSE = "Stores - _TC"
-class TestStockLedgerReeport(ERPNextTestSuite):
- def setUp(self) -> None:
- make_serial_item_with_serial(self, "_Test Stock Report Serial Item")
- self.filters = frappe._dict(
+
+class TestStockLedgerReport(ERPNextTestSuite):
+ """Correctness tests for the Stock Ledger report.
+
+ A shared `make_movements`/`run` pair keeps each test small without persisting
+ any data: movements are created per test and rolled back, while the report runs
+ read-only. Tests reuse bootstrap items and transact in `Stores - _TC`, which
+ starts clean (zero balance) for these items.
+ """
+
+ def make_movements(self, item_code, movements):
+ for movement in movements:
+ make_stock_entry(item_code=item_code, **movement)
+
+ def run_report(self, item_code, from_date=None, to_date=None):
+ filters = frappe._dict(
company="_Test Company",
- from_date=today(),
- to_date=add_days(today(), 30),
- item_code=["_Test Stock Report Serial Item"],
+ from_date=from_date or add_days(today(), -1),
+ to_date=to_date or today(),
+ item_code=[item_code],
+ warehouse=WAREHOUSE,
+ )
+ return list(execute(filters)[1])
+
+ def test_in_out_quantities_and_running_balance(self):
+ item = "_Test Item"
+ self.make_movements(
+ item,
+ [
+ {"qty": 10, "to_warehouse": WAREHOUSE, "basic_rate": 100},
+ {"qty": 4, "from_warehouse": WAREHOUSE},
+ ],
+ )
+
+ rows = self.run_report(item)
+ receipt = next(row for row in rows if row.get("in_qty"))
+ issue = next(row for row in rows if row.get("out_qty"))
+
+ self.assertEqual(receipt["in_qty"], 10)
+ self.assertEqual(receipt["qty_after_transaction"], 10)
+ self.assertEqual(issue["out_qty"], -4)
+ self.assertEqual(issue["qty_after_transaction"], 6)
+
+ def test_opening_balance_reflects_movements_before_from_date(self):
+ item = "_Test Item"
+ self.make_movements(
+ item,
+ [
+ {
+ "qty": 10,
+ "to_warehouse": WAREHOUSE,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -10),
+ },
+ {"qty": 4, "from_warehouse": WAREHOUSE, "posting_date": today()},
+ ],
+ )
+
+ rows = self.run_report(item, from_date=add_days(today(), -5), to_date=today())
+
+ # the receipt predates the range, so it surfaces as the opening balance
+ self.assertEqual(rows[0]["item_code"], "'Opening'")
+ self.assertEqual(rows[0]["qty_after_transaction"], 10)
+
+ # the in-range issue draws down from the opening balance
+ issue = next(row for row in rows if row.get("out_qty"))
+ self.assertEqual(issue["qty_after_transaction"], 6)
+
+ def test_filters_to_requested_item_only(self):
+ item_a = "_Test Item"
+ item_b = "_Test Item 2"
+ self.make_movements(item_a, [{"qty": 5, "to_warehouse": WAREHOUSE, "basic_rate": 100}])
+ self.make_movements(item_b, [{"qty": 7, "to_warehouse": WAREHOUSE, "basic_rate": 100}])
+
+ rows = self.run_report(item_a)
+ item_codes = {row["item_code"] for row in rows if row.get("voucher_no")}
+ self.assertEqual(item_codes, {item_a})
+
+ def test_multi_item_opening_balance_with_and_without_transactions(self):
+ item_a = "_Test Item"
+ item_b = "_Test Item 2"
+ self.make_movements(
+ item_a,
+ [
+ {
+ "qty": 10,
+ "to_warehouse": WAREHOUSE,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -10),
+ }
+ ],
+ )
+ self.make_movements(
+ item_b,
+ [{"qty": 5, "to_warehouse": WAREHOUSE, "basic_rate": 50, "posting_date": add_days(today(), -10)}],
+ )
+ self.make_movements(
+ item_a,
+ [{"qty": 2, "from_warehouse": WAREHOUSE, "posting_date": today()}],
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=add_days(today(), -5),
+ to_date=today(),
+ item_code=[item_a, item_b],
+ warehouse=WAREHOUSE,
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], 15)
+
+ def test_multi_warehouse_opening_balance_aggregation(self):
+ item = "_Test Item"
+ warehouse_1 = "Stores - _TC"
+ warehouse_2 = "Finished Goods - _TC"
+
+ self.make_movements(
+ item,
+ [
+ {
+ "qty": 10,
+ "to_warehouse": warehouse_1,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -10),
+ },
+ {
+ "qty": 20,
+ "to_warehouse": warehouse_2,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -10),
+ },
+ ],
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=add_days(today(), -5),
+ to_date=today(),
+ item_code=[item],
+ warehouse=[warehouse_1, warehouse_2],
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], 30)
+
+ def test_opening_stock_reconciliation_on_from_date_non_midnight_time(self):
+ from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import (
+ create_stock_reconciliation,
+ )
+
+ item = "_Test Item"
+ from_date = today()
+
+ sr = create_stock_reconciliation(
+ item_code=item,
+ warehouse=WAREHOUSE,
+ qty=25,
+ rate=100,
+ posting_date=from_date,
+ posting_time="10:30:00",
+ purpose="Opening Stock",
+ do_not_submit=False,
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=from_date,
+ to_date=from_date,
+ item_code=[item],
+ warehouse=WAREHOUSE,
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], 25)
+
+ # Ensure the Opening Stock Reconciliation is not duplicated in detail transaction rows
+ reco_rows = [row for row in rows if row.get("voucher_no") == sr.name]
+ self.assertEqual(len(reco_rows), 0)
+
+ def test_backdated_sle_independent_maxima_handling(self):
+ item = "_Test Item"
+ # Entry 1: Later posting date (2026-07-20), created first
+ self.make_movements(
+ item,
+ [
+ {
+ "qty": 10,
+ "to_warehouse": WAREHOUSE,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -10),
+ }
+ ],
+ )
+ # Entry 2: Backdated posting date (2026-07-15), created LATER
+ self.make_movements(
+ item,
+ [
+ {
+ "qty": 5,
+ "to_warehouse": WAREHOUSE,
+ "basic_rate": 100,
+ "posting_date": add_days(today(), -15),
+ }
+ ],
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=add_days(today(), -5),
+ to_date=today(),
+ item_code=[item],
+ warehouse=WAREHOUSE,
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ # Should correctly pick the latest posting date entry (15 Qty) despite backdated creation order
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], 15)
+
+ def test_filtered_opening_balance_does_not_pick_excluded_creation_entry(self):
+ item = "_Test Item"
+ posting_date = add_days(today(), -10)
+ posting_time = "09:00:00"
+
+ included_entry = make_stock_entry(
+ item_code=item,
+ qty=10,
+ to_warehouse=WAREHOUSE,
+ basic_rate=100,
+ posting_date=posting_date,
+ posting_time=posting_time,
+ )
+ make_stock_entry(
+ item_code=item,
+ qty=50,
+ to_warehouse=WAREHOUSE,
+ basic_rate=100,
+ posting_date=posting_date,
+ posting_time=posting_time,
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=add_days(today(), -5),
+ to_date=today(),
+ item_code=[item],
+ warehouse=WAREHOUSE,
+ voucher_no=included_entry.name,
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], 10)
+
+ def test_tied_creation_terminal_sle_is_not_summed_twice(self):
+ item = "_Test Item"
+ posting_date = add_days(today(), -10)
+ posting_time = "09:00:00"
+
+ stock_entry_1 = make_stock_entry(
+ item_code=item,
+ qty=10,
+ to_warehouse=WAREHOUSE,
+ basic_rate=100,
+ posting_date=posting_date,
+ posting_time=posting_time,
+ )
+ stock_entry_2 = make_stock_entry(
+ item_code=item,
+ qty=5,
+ to_warehouse=WAREHOUSE,
+ basic_rate=100,
+ posting_date=posting_date,
+ posting_time=posting_time,
+ )
+
+ sle_rows = frappe.get_all(
+ "Stock Ledger Entry",
+ filters={
+ "voucher_type": "Stock Entry",
+ "voucher_no": ("in", [stock_entry_1.name, stock_entry_2.name]),
+ "item_code": item,
+ "warehouse": WAREHOUSE,
+ "is_cancelled": 0,
+ },
+ fields=["name", "qty_after_transaction"],
+ order_by="name desc",
+ )
+ self.assertEqual(len(sle_rows), 2)
+
+ for sle in sle_rows:
+ frappe.db.set_value(
+ "Stock Ledger Entry",
+ sle.name,
+ "creation",
+ "2026-01-01 00:00:00.000000",
+ update_modified=False,
+ )
+
+ filters = frappe._dict(
+ company="_Test Company",
+ from_date=add_days(today(), -5),
+ to_date=today(),
+ item_code=[item],
+ warehouse=WAREHOUSE,
+ )
+ columns, rows = execute(filters)
+
+ opening_rows = [row for row in rows if row.get("item_code") == "'Opening'"]
+ self.assertEqual(len(opening_rows), 1)
+ self.assertEqual(opening_rows[0]["qty_after_transaction"], sle_rows[0].qty_after_transaction)
+ self.assertNotEqual(
+ opening_rows[0]["qty_after_transaction"],
+ sum(sle.qty_after_transaction for sle in sle_rows),
)
diff --git a/erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py b/erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py
index ffb024acfb1..7827203ae92 100644
--- a/erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py
+++ b/erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py
@@ -7,6 +7,8 @@ import frappe
from frappe import _
from frappe.utils import cint, flt, get_link_to_form, parse_json
+from erpnext.stock.utils import get_valuation_method
+
SLE_FIELDS = (
"name",
"posting_date",
@@ -53,6 +55,9 @@ def add_invariant_check_fields(sles, filters):
balance_qty = 0.0
balance_stock_value = 0.0
+ company = frappe.get_cached_value("Warehouse", filters.warehouse, "company")
+ valuation_method = get_valuation_method(filters.item_code, company)
+
incorrect_idx = None
float_precision = cint(frappe.db.get_single_value("System Settings", "float_precision")) or 3
currency_precision = (
@@ -90,7 +95,7 @@ def add_invariant_check_fields(sles, filters):
)
sle.diff_value_diff = sle.stock_value_from_diff - sle.stock_value
- if maintains_fifo_queue(sle):
+ if maintains_fifo_queue(sle, valuation_method):
add_fifo_fields(sle, sles[idx - 1] if idx else None)
if incorrect_idx is None and not is_sle_has_correct_data(sle, float_precision, currency_precision):
@@ -104,8 +109,10 @@ def add_invariant_check_fields(sles, filters):
return sles
-def maintains_fifo_queue(sle):
- # no queue is maintained for serialized/batchwise-valued stock
+def maintains_fifo_queue(sle, valuation_method):
+ if valuation_method == "Moving Average":
+ return False
+
return not (
sle.serial_and_batch_bundle or sle.serial_no or (sle.batch_no and sle.use_batchwise_valuation)
)
@@ -138,6 +145,8 @@ def is_sle_has_correct_data(sle, float_precision, currency_precision):
return (
flt(sle.difference_in_qty, float_precision) == 0.0
and flt(sle.diff_value_diff, currency_precision) == 0.0
+ and flt(sle.fifo_qty_diff, float_precision) == 0.0
+ and flt(sle.fifo_value_diff, currency_precision) == 0.0
)
diff --git a/erpnext/stock/report/stock_ledger_invariant_check/test_stock_ledger_invariant_check.py b/erpnext/stock/report/stock_ledger_invariant_check/test_stock_ledger_invariant_check.py
index 0f71a8834b2..ae692617a77 100644
--- a/erpnext/stock/report/stock_ledger_invariant_check/test_stock_ledger_invariant_check.py
+++ b/erpnext/stock/report/stock_ledger_invariant_check/test_stock_ledger_invariant_check.py
@@ -1,6 +1,8 @@
# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
+import json
+
import frappe
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
@@ -59,6 +61,34 @@ class TestStockLedgerInvariantCheck(ERPNextTestSuite):
self.assertEqual(len(data), 2) # incorrect entry + one before it for context
self.assertEqual(data[-1].name, sle.name)
+ def test_show_incorrect_entries_catches_queue_mismatch(self):
+ item = self.make_movements()
+
+ sle = frappe.get_last_doc(
+ "Stock Ledger Entry", {"item_code": item, "warehouse": WAREHOUSE, "is_cancelled": 0}
+ )
+ tampered_queue = json.dumps([[sle.qty_after_transaction + 5, 100]])
+ frappe.db.set_value("Stock Ledger Entry", sle.name, "stock_queue", tampered_queue)
+
+ data = self.run_report(item_code=item, show_incorrect_entries=1)
+ self.assertEqual(len(data), 2)
+ self.assertEqual(data[-1].name, sle.name)
+
+ def test_moving_average_item_skips_fifo_queue_checks(self):
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ item = make_item(properties={"valuation_method": "Moving Average"}).name
+ make_stock_entry(item_code=item, to_warehouse=WAREHOUSE, qty=10, rate=100)
+ make_stock_entry(item_code=item, from_warehouse=WAREHOUSE, qty=4)
+
+ data = self.run_report(item_code=item)
+ self.assertTrue(data)
+ for row in data:
+ self.assertIsNone(row.fifo_qty_diff)
+ self.assertIsNone(row.fifo_value_diff)
+
+ self.assertEqual(self.run_report(item_code=item, show_incorrect_entries=1), [])
+
def test_batch_item_skips_fifo_queue_checks(self):
from erpnext.stock.doctype.item.test_item import make_item
diff --git a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js
index c38f0237436..6df8458fd3c 100644
--- a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js
+++ b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.js
@@ -2,6 +2,30 @@
// For license information, please see license.txt
frappe.query_reports["Stock Qty vs Serial No Count"] = {
+ onload: function (report) {
+ report.page.add_inner_button(__("Sync Serial No Status"), () => {
+ const warehouse = report.get_filter_value("warehouse");
+ if (!warehouse) {
+ frappe.msgprint(__("Please select a warehouse first."));
+ return;
+ }
+
+ frappe.confirm(
+ __(
+ "This will update the warehouse and status of Serial Nos counted in {0} to match the stock ledger. Continue?",
+ [warehouse.bold()]
+ ),
+ () => {
+ frappe.call({
+ method: "erpnext.stock.report.stock_qty_vs_serial_no_count.stock_qty_vs_serial_no_count.sync_serial_no_status",
+ args: { warehouse: warehouse },
+ freeze: true,
+ });
+ }
+ );
+ });
+ },
+
filters: [
{
fieldname: "company",
diff --git a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py
index 6087c747374..2ea732180ad 100644
--- a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py
+++ b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py
@@ -4,6 +4,12 @@
import frappe
from frappe import _
+from frappe.query_builder import Order
+from frappe.query_builder.functions import Coalesce
+from frappe.utils import cstr, flt
+from pypika import analytics as an
+
+from erpnext.stock.serial_batch_bundle import get_serial_no_status
def execute(filters=None):
@@ -77,3 +83,172 @@ def get_data(warehouse, show_disabled_items):
data.append(row)
return data
+
+
+SYNC_CHUNK_SIZE = 1000
+
+
+@frappe.whitelist(methods=["POST"])
+def sync_serial_no_status(warehouse: str, item_code: str | None = None):
+ if not frappe.has_permission("Serial No", "write"):
+ frappe.throw(_("Not permitted to update Serial No"), frappe.PermissionError)
+
+ warehouse = cstr(warehouse)
+ item_code = cstr(item_code) if item_code else None
+ if not frappe.db.exists("Warehouse", warehouse):
+ frappe.throw(_("Warehouse {0} does not exist").format(warehouse))
+
+ if item_code and not frappe.db.exists("Item", item_code):
+ frappe.throw(_("Item {0} does not exist").format(item_code))
+
+ frappe.enqueue(
+ sync_serial_no_status_for_warehouse,
+ queue="long",
+ warehouse=warehouse,
+ item_code=item_code,
+ )
+ frappe.msgprint(
+ _("Serial No status sync has been queued. Reload the report after a few minutes."),
+ alert=True,
+ )
+
+
+def sync_serial_no_status_for_warehouse(warehouse, item_code=None):
+ filters = {"has_serial_no": 1}
+ if item_code:
+ filters["name"] = item_code
+
+ for item in frappe.get_all("Item", filters=filters, pluck="name"):
+ sync_serial_no_status_for_item(item, warehouse)
+
+
+def sync_serial_no_status_for_item(item_code, warehouse):
+ """Correct Serial No records this report counts in the warehouse but whose last
+ stock ledger movement says the stock left it. Reposting rebuilds qty and valuation
+ from the ledger but never rewrites Serial No warehouse/status, so records orphaned
+ by cancelled or amended vouchers keep inflating the serial count."""
+ serial_nos = frappe.get_all(
+ "Serial No",
+ filters={"item_code": item_code, "warehouse": warehouse, "status": ("in", ["Active", "Expired"])},
+ pluck="name",
+ )
+ if not serial_nos:
+ return
+
+ last_moves = get_last_ledger_moves(item_code, serial_nos)
+ for serial_no in serial_nos:
+ row = last_moves.get(serial_no)
+ if row and flt(row.qty) > 0 and row.warehouse == warehouse:
+ continue
+
+ set_serial_no_state_from_ledger(serial_no, row)
+
+
+def set_serial_no_state_from_ledger(serial_no, row):
+ if not row:
+ frappe.db.set_value(
+ "Serial No", serial_no, {"warehouse": None, "status": "Inactive"}, update_modified=False
+ )
+ return
+
+ status = get_serial_no_status(
+ frappe._dict(
+ actual_qty=flt(row.qty),
+ warehouse=row.warehouse,
+ voucher_type=row.voucher_type,
+ voucher_no=row.voucher_no,
+ is_cancelled=0,
+ )
+ )
+ warehouse = row.warehouse if status == "Active" else None
+ frappe.db.set_value(
+ "Serial No", serial_no, {"warehouse": warehouse, "status": status}, update_modified=False
+ )
+
+
+def get_last_ledger_moves(item_code, serial_nos):
+ last_moves = get_last_bundle_moves(item_code, serial_nos)
+ if missing := [serial_no for serial_no in serial_nos if serial_no not in last_moves]:
+ set_legacy_last_moves(item_code, missing, last_moves)
+
+ return last_moves
+
+
+def get_last_bundle_moves(item_code, serial_nos):
+ last_moves = {}
+ for start in range(0, len(serial_nos), SYNC_CHUNK_SIZE):
+ for row in get_last_bundle_moves_chunk(item_code, serial_nos[start : start + SYNC_CHUNK_SIZE]):
+ last_moves[row.serial_no] = row
+
+ return last_moves
+
+
+def get_last_bundle_moves_chunk(item_code, serial_nos):
+ """A bundle can be created much before its Stock Ledger Entry, so same-posting-datetime
+ ties are broken on the creation of the bundle's own SLE. The SLE join also keeps only
+ real stock movements - reservation bundles (Pick List) carry no SLE."""
+ entry = frappe.qb.DocType("Serial and Batch Entry")
+ bundle = frappe.qb.DocType("Serial and Batch Bundle")
+ sle = frappe.qb.DocType("Stock Ledger Entry")
+
+ row_number = (
+ an.RowNumber()
+ .over(entry.serial_no)
+ .orderby(Coalesce(entry.posting_datetime, bundle.posting_datetime), order=Order.desc)
+ .orderby(sle.creation, order=Order.desc)
+ )
+
+ ranked = (
+ frappe.qb.from_(entry)
+ .inner_join(bundle)
+ .on(entry.parent == bundle.name)
+ .inner_join(sle)
+ .on(sle.serial_and_batch_bundle == bundle.name)
+ .select(
+ entry.serial_no,
+ entry.qty,
+ Coalesce(entry.warehouse, bundle.warehouse).as_("warehouse"),
+ bundle.voucher_type,
+ bundle.voucher_no,
+ row_number.as_("row_no"),
+ )
+ .where(
+ (bundle.docstatus == 1)
+ & (Coalesce(bundle.is_cancelled, 0) == 0)
+ & (sle.is_cancelled == 0)
+ & (bundle.item_code == item_code)
+ & (entry.serial_no.isin(serial_nos))
+ )
+ ).as_("ranked")
+
+ return (
+ frappe.qb.from_(ranked)
+ .select(ranked.serial_no, ranked.qty, ranked.warehouse, ranked.voucher_type, ranked.voucher_no)
+ .where(ranked.row_no == 1)
+ .run(as_dict=True)
+ )
+
+
+def set_legacy_last_moves(item_code, serial_nos, last_moves):
+ """Movements posted before Serial and Batch Bundle exist only as newline-separated
+ text on Stock Ledger Entry."""
+ from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
+
+ pending = set(serial_nos)
+ rows = frappe.get_all(
+ "Stock Ledger Entry",
+ filters={"item_code": item_code, "is_cancelled": 0, "serial_no": ("is", "set")},
+ fields=["serial_no", "actual_qty", "warehouse", "voucher_type", "voucher_no"],
+ order_by="posting_datetime asc, creation asc",
+ )
+
+ for row in rows:
+ qty = 1 if flt(row.actual_qty) > 0 else -1
+ for serial_no in get_serial_nos(row.serial_no):
+ if serial_no in pending:
+ last_moves[serial_no] = frappe._dict(
+ qty=qty,
+ warehouse=row.warehouse,
+ voucher_type=row.voucher_type,
+ voucher_no=row.voucher_no,
+ )
diff --git a/erpnext/stock/report/stock_qty_vs_serial_no_count/test_stock_qty_vs_serial_no_count.py b/erpnext/stock/report/stock_qty_vs_serial_no_count/test_stock_qty_vs_serial_no_count.py
new file mode 100644
index 00000000000..ba72eaff63f
--- /dev/null
+++ b/erpnext/stock/report/stock_qty_vs_serial_no_count/test_stock_qty_vs_serial_no_count.py
@@ -0,0 +1,41 @@
+# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+
+import frappe
+
+from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
+from erpnext.tests.utils import ERPNextTestSuite
+
+
+class TestStockQtyVsSerialNoCount(ERPNextTestSuite):
+ def test_sync_serial_no_status(self):
+ from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
+ from erpnext.stock.report.stock_qty_vs_serial_no_count.stock_qty_vs_serial_no_count import (
+ sync_serial_no_status_for_warehouse,
+ )
+
+ item = "_Test Serialized Item With Series"
+ warehouse = "Stores - _TC"
+ se = make_stock_entry(item_code=item, to_warehouse=warehouse, qty=2, rate=100)
+ serial_no = frappe.get_all(
+ "Serial and Batch Entry",
+ {"parent": se.items[0].serial_and_batch_bundle},
+ pluck="serial_no",
+ )[0]
+
+ create_delivery_note(
+ item_code=item,
+ warehouse=warehouse,
+ qty=1,
+ serial_no=serial_no,
+ use_serial_batch_fields=1,
+ )
+ self.assertEqual(frappe.db.get_value("Serial No", serial_no, "status"), "Delivered")
+
+ frappe.db.set_value("Serial No", serial_no, {"status": "Active", "warehouse": warehouse})
+
+ sync_serial_no_status_for_warehouse(warehouse, item_code=item)
+
+ details = frappe.db.get_value("Serial No", serial_no, ["status", "warehouse"], as_dict=True)
+ self.assertEqual(details.status, "Delivered")
+ self.assertFalse(details.warehouse)
diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py
index 633867dcc79..e8e674ee7b2 100644
--- a/erpnext/stock/serial_batch_bundle.py
+++ b/erpnext/stock/serial_batch_bundle.py
@@ -787,6 +787,9 @@ class SerialNoValuation(DeprecatedSerialNoValuation):
return is_rejected(self.sle.voucher_type, self.sle.voucher_detail_no, self.sle.warehouse)
def get_incoming_rate(self):
+ if not self.sle.actual_qty and self.sle.voucher_type == "Stock Reconciliation":
+ return 0.0
+
return abs(flt(self.stock_value_change) / flt(self.sle.actual_qty))
def get_incoming_rate_of_serial_no(self, serial_no):
@@ -820,13 +823,14 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
"Serial and Batch Bundle", self.sle.serial_and_batch_bundle, "total_amount"
)
else:
- entries = self.get_batch_stock_before_date()
self.stock_value_change = 0.0
self.batch_avg_rate = defaultdict(float)
self.available_qty = defaultdict(float)
self.stock_value_differece = defaultdict(float)
- for ledger in entries:
+ self.seed_from_stock_closing_balance()
+
+ for ledger in self.get_batch_stock_before_date():
self.stock_value_differece[ledger.batch_no] += flt(ledger.incoming_rate)
self.available_qty[ledger.batch_no] += flt(ledger.qty)
@@ -834,6 +838,52 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
self.calculate_avg_rate_for_non_batchwise_valuation()
self.set_stock_value_difference()
+ def seed_from_stock_closing_balance(self):
+ self.stock_closing_from_datetime = None
+ closing_entry = self.get_closing_entry_for_seeding()
+ if not closing_entry:
+ return
+
+ from erpnext.stock.utils import get_combine_datetime
+
+ self.stock_closing_from_datetime = get_combine_datetime(
+ add_days(closing_entry.to_date, 1), "00:00:00"
+ )
+
+ for row in self.get_stock_closing_balance_entries(closing_entry.name):
+ self.stock_value_differece[row.batch_no] += flt(row.stock_value_difference)
+ self.available_qty[row.batch_no] += flt(row.actual_qty)
+
+ def get_closing_entry_for_seeding(self):
+ from erpnext.stock.doctype.stock_closing_entry.stock_closing_entry import (
+ get_closing_entry_for_closed_period,
+ )
+
+ if not self.batchwise_valuation_batches or not self.sle.posting_date:
+ return None
+
+ company = self.sle.company or frappe.get_cached_value("Warehouse", self.sle.warehouse, "company")
+ closing_entry = get_closing_entry_for_closed_period(company)
+ if not closing_entry or getdate(self.sle.posting_date) <= getdate(closing_entry.to_date):
+ return None
+
+ return closing_entry
+
+ def get_stock_closing_balance_entries(self, closing_entry):
+ table = frappe.qb.DocType("Stock Closing Balance")
+
+ return (
+ frappe.qb.from_(table)
+ .select(table.batch_no, table.actual_qty, table.stock_value_difference)
+ .where(
+ (table.stock_closing_entry == closing_entry)
+ & (table.item_code == self.sle.item_code)
+ & (table.warehouse == self.sle.warehouse)
+ & table.batch_no.isin(self.batchwise_valuation_batches)
+ & (table.inventory_dimension_key.isnull() | (table.inventory_dimension_key == ""))
+ )
+ ).run(as_dict=True)
+
def get_batch_stock_before_date(self) -> list[dict]:
# Get batch wise stock value difference from Serial and Batch Bundle considering time condition
if not self.batchwise_valuation_batches:
@@ -841,14 +891,45 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
child = frappe.qb.DocType("Serial and Batch Entry")
+ sle_creation = self.sle.creation if self.sle.get("name") else None
+ if not self.sle.get("name") and self.sle.get("serial_and_batch_bundle"):
+ sle_creation = frappe.db.get_value(
+ "Stock Ledger Entry",
+ {"serial_and_batch_bundle": self.sle.serial_and_batch_bundle, "is_cancelled": 0},
+ "creation",
+ )
+
timestamp_condition = ""
if self.sle.posting_datetime:
timestamp_condition = child.posting_datetime < self.sle.posting_datetime
- if self.sle.creation:
- timestamp_condition |= (child.posting_datetime == self.sle.posting_datetime) & (
- child.creation < self.sle.creation
+ sle_table = frappe.qb.DocType("Stock Ledger Entry")
+ if sle_creation:
+ # bundle creation and SLE creation are different timelines (a
+ # bundle can be created much before its SLE), so break the tie
+ # using the creation of the bundle's own SLE
+ tie_condition = ExistsCriterion(
+ frappe.qb.from_(sle_table)
+ .select(sle_table.name)
+ .where(
+ (sle_table.serial_and_batch_bundle == child.parent)
+ & (sle_table.is_cancelled == 0)
+ & (sle_table.creation < sle_creation)
+ )
)
+ else:
+ # the current entry is not yet in the ledger and will get the
+ # latest creation, so the same-timestamp entries which are
+ # already in the ledger precede it
+ tie_condition = ExistsCriterion(
+ frappe.qb.from_(sle_table)
+ .select(sle_table.name)
+ .where(
+ (sle_table.serial_and_batch_bundle == child.parent) & (sle_table.is_cancelled == 0)
+ )
+ )
+
+ timestamp_condition |= (child.posting_datetime == self.sle.posting_datetime) & tie_condition
query = (
frappe.qb.from_(child)
@@ -878,6 +959,9 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
if timestamp_condition:
query = query.where(timestamp_condition)
+ if self.stock_closing_from_datetime:
+ query = query.where(child.posting_datetime >= self.stock_closing_from_datetime)
+
return query.run(as_dict=True)
def prepare_batches(self):
@@ -890,6 +974,11 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
self.batchwise_valuation_batches = []
self.non_batchwise_valuation_batches = []
+ if batchwise_batches := self.sle.get("batchwise_valuation_batches"):
+ self.batchwise_valuation_batches = list(batchwise_batches)
+ self.non_batchwise_valuation_batches = list(set(self.batches) - set(batchwise_batches))
+ return
+
if get_valuation_method(
self.sle.item_code, self.sle.company
) == "Moving Average" and frappe.get_single_value("Stock Settings", "do_not_use_batchwise_valuation"):
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 23e99899068..0ee68469706 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -39,7 +39,6 @@ from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry impor
from erpnext.stock.utils import (
get_combine_datetime,
get_incoming_outgoing_rate_for_cancel,
- get_incoming_rate,
get_or_make_bin,
get_serial_nos_data,
get_stock_balance,
@@ -56,6 +55,32 @@ class SerialNoExistsInFutureTransaction(frappe.ValidationError):
pass
+def validate_stock_frozen_by_closing_entry(sl_entries):
+ from erpnext.stock.doctype.stock_closing_entry.stock_closing_entry import (
+ get_closing_entry_for_closed_period,
+ )
+
+ company = sl_entries[0].get("company")
+ if not company:
+ company = frappe.get_cached_value("Warehouse", sl_entries[0].get("warehouse"), "company")
+
+ closing_entry = get_closing_entry_for_closed_period(company)
+ if not closing_entry:
+ return
+
+ for sle in sl_entries:
+ if sle.get("posting_date") and getdate(sle.get("posting_date")) <= getdate(closing_entry.to_date):
+ frappe.throw(
+ _(
+ "Stock transactions dated on or before {0} are frozen because the period is closed and the Stock Closing Entry {1} has been generated. To make changes, cancel the Period Closing Voucher first."
+ ).format(
+ frappe.bold(format_date(closing_entry.to_date)),
+ get_link_to_form("Stock Closing Entry", closing_entry.name),
+ ),
+ title=_("Stock Frozen"),
+ )
+
+
def make_sl_entries(sl_entries, allow_negative_stock=False, via_landed_cost_voucher=False):
"""Create SL entries from SL entry dicts
@@ -67,9 +92,11 @@ def make_sl_entries(sl_entries, allow_negative_stock=False, via_landed_cost_vouc
such cases certain validations need to be ignored (like negative
stock)
"""
- from erpnext.controllers.stock_controller import future_sle_exists
+ from erpnext.controllers.stock_controller import future_sle_exists, invalidate_future_sle_cache
if sl_entries:
+ validate_stock_frozen_by_closing_entry(sl_entries)
+
cancelled = sl_entries[0].get("is_cancelled")
if cancelled:
validate_cancellation(sl_entries)
@@ -117,6 +144,8 @@ def make_sl_entries(sl_entries, allow_negative_stock=False, via_landed_cost_vouc
_("Item {0} ignored since it is not a stock item").format(args.get("item_code"))
)
+ invalidate_future_sle_cache(sl_entries[0].get("voucher_type"), sl_entries[0].get("voucher_no"))
+
def repost_current_voucher(args, allow_negative_stock=False, via_landed_cost_voucher=False, cancelled=False):
if args.get("actual_qty") or args.get("voucher_type") == "Stock Reconciliation":
@@ -1273,23 +1302,7 @@ class update_entries_after:
and not sle.get("batch_no")
and not sle.get("serial_and_batch_bundle")
):
- rate = get_incoming_rate(
- {
- "item_code": sle.item_code,
- "warehouse": sle.warehouse,
- "posting_date": sle.posting_date,
- "posting_time": sle.posting_time,
- "qty": sle.actual_qty,
- "serial_no": sle.get("serial_no"),
- "batch_no": sle.get("batch_no"),
- "serial_and_batch_bundle": sle.get("serial_and_batch_bundle"),
- "company": sle.company,
- "voucher_type": sle.voucher_type,
- "voucher_no": sle.voucher_no,
- "allow_zero_valuation": self.allow_zero_rate,
- "sle": sle.name,
- }
- )
+ rate = self.get_moving_average_rate_for_return(sle)
if not rate and sle.voucher_type in ["Delivery Note", "Sales Invoice"]:
rate = get_rate_for_return(
@@ -1357,6 +1370,38 @@ class update_entries_after:
return rate
+ def get_moving_average_rate_for_return(self, sle):
+ """Rate just before this entry, taken from the in-memory running state so a
+ multi-line return never reads a sibling row of its own voucher."""
+ rate = flt(self.wh_data.valuation_rate)
+ if rate:
+ return rate
+
+ previous_sle = get_previous_sle_of_current_voucher(
+ frappe._dict(
+ item_code=sle.item_code,
+ warehouse=sle.warehouse,
+ posting_date=sle.posting_date,
+ posting_time=sle.posting_time,
+ voucher_no=sle.voucher_no,
+ ),
+ exclude_current_voucher=True,
+ )
+
+ rate = previous_sle.get("valuation_rate")
+ if rate is None:
+ rate = get_valuation_rate(
+ sle.item_code,
+ sle.warehouse,
+ sle.voucher_type,
+ sle.voucher_no,
+ self.allow_zero_rate,
+ currency=erpnext.get_company_currency(sle.company),
+ company=sle.company,
+ )
+
+ return flt(rate)
+
def update_outgoing_rate_on_transaction(self, sle):
"""
Update outgoing rate in Stock Entry, Delivery Note, Sales Invoice and Sales Return
diff --git a/erpnext/stock/tests/test_get_item_details.py b/erpnext/stock/tests/test_get_item_details.py
index 99d94008221..d790c673e20 100644
--- a/erpnext/stock/tests/test_get_item_details.py
+++ b/erpnext/stock/tests/test_get_item_details.py
@@ -123,3 +123,336 @@ class TestGetItemDetail(ERPNextTestSuite):
dn.save()
self.assertEqual(dn.items[0].batch_no, "BATCH01")
self.assertEqual(dn.items[0].rate, 50)
+
+ def test_maintain_same_rate_keeps_source_rate_on_refetch(self):
+ """#57436: with "maintain same rate" on, re-fetching a PR row mapped from a
+ PO must keep the PO rate instead of pulling a newer, higher Item Price.
+
+ The rate is validated on save, so it can never persist changed; assert the
+ fetched rate directly to prove the newer Item Price is never picked up.
+ """
+ from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+ from erpnext.stock.doctype.item.test_item import make_item
+
+ def set_maintain_same_rate(value):
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", value)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ set_maintain_same_rate(1)
+
+ item_code = make_item(properties={"is_stock_item": 1}).name
+ po = create_purchase_order(item_code=item_code, qty=1, rate=100)
+
+ # The PO may auto-insert an Item Price at 100; bump it to the newer, higher rate.
+ item_price = frappe.db.get_value(
+ "Item Price", {"item_code": item_code, "price_list": "Standard Buying"}
+ )
+ if item_price:
+ frappe.db.set_value("Item Price", item_price, "price_list_rate", 120)
+ else:
+ frappe.get_doc(
+ {
+ "doctype": "Item Price",
+ "price_list": "Standard Buying",
+ "item_code": item_code,
+ "price_list_rate": 120,
+ }
+ ).insert()
+
+ pr = make_purchase_receipt(po.name)
+ pr.insert()
+
+ def fetch_price_list_rate():
+ ctx = frappe._dict(
+ {
+ "item_code": item_code,
+ "doctype": "Purchase Receipt",
+ "name": pr.name,
+ "company": pr.company,
+ "supplier": pr.supplier,
+ "currency": pr.currency,
+ "conversion_rate": 1.0,
+ "price_list": "Standard Buying",
+ "price_list_currency": pr.currency,
+ "plc_conversion_rate": 1.0,
+ "warehouse": pr.items[0].warehouse,
+ "uom": pr.items[0].uom,
+ "stock_uom": pr.items[0].stock_uom,
+ "qty": pr.items[0].qty,
+ "child_doctype": pr.items[0].doctype,
+ "child_docname": pr.items[0].name,
+ "is_return": 0,
+ "is_internal_supplier": 0,
+ "ignore_pricing_rule": 1,
+ }
+ )
+ return get_item_details(ctx, pr).get("price_list_rate")
+
+ # Rate stays at the PO rate; the newer Item Price (120) is not fetched.
+ self.assertEqual(fetch_price_list_rate(), 100)
+
+ # Control: without the setting the newer Item Price would be fetched.
+ set_maintain_same_rate(0)
+ self.assertEqual(fetch_price_list_rate(), 120)
+
+ def test_maintain_same_rate_survives_refetch_with_discount(self):
+ """A mapped Purchase Receipt row that carries a source discount (rate != price
+ list rate) must keep its rate when the row is re-fetched, so maintain-same-rate
+ lets the document save. process_item_selection runs the same recompute the desk
+ mirrors, so it covers the "discount discarded on refresh" concern end to end.
+ """
+ from frappe.utils import flt
+
+ from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+
+ item, price_list = "_Test Item", "_Test Buying Price List"
+ original = frappe.db.get_single_value("Buying Settings", "maintain_same_rate")
+ original_action = frappe.db.get_single_value("Buying Settings", "maintain_same_rate_action")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate_action", "Stop")
+ frappe.clear_cache(doctype="Buying Settings")
+
+ try:
+ for label, adjustment in (
+ ("percentage", {"discount_percentage": 10}),
+ ("amount", {"discount_amount": 10}),
+ ):
+ with self.subTest(discount=label):
+ # a controlled discounted PO: list rate 100, effective rate 90
+ frappe.flags.dont_fetch_price_list_rate = True
+ po = create_purchase_order(item_code=item, qty=1, do_not_save=True)
+ po.buying_price_list = price_list
+ po.items[0].price_list_rate = 100
+ po.items[0].update(adjustment)
+ po.items[0].rate = 90
+ po.insert()
+ po.submit()
+ frappe.flags.dont_fetch_price_list_rate = False
+
+ # a newer Item Price must not leak onto the mapped row on re-fetch
+ item_price = frappe.db.get_value(
+ "Item Price", {"item_code": item, "price_list": price_list}
+ )
+ if item_price:
+ frappe.db.set_value("Item Price", item_price, "price_list_rate", 250)
+
+ pr = make_purchase_receipt(po.name)
+ pr.insert()
+ pr.process_item_selection(item_idx=pr.items[0].idx)
+
+ self.assertEqual(flt(pr.items[0].rate), 90)
+ pr.save() # must not raise the maintain-same-rate check
+ finally:
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", original)
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate_action", original_action)
+ frappe.clear_cache(doctype="Buying Settings")
+ frappe.flags.dont_fetch_price_list_rate = False
+
+ def test_apply_price_list_keeps_source_rate_when_maintain_same_rate(self):
+ """#57436: the bulk apply_price_list path (price list / party / conversion rate
+ change) must also keep the source rate on mapped rows, not just re-fetch of a
+ single row. Here a PR row carries its PO rate (175) while the current price list
+ rate is 100; the bulk apply must keep 175.
+ """
+ from frappe.utils import flt, nowdate
+
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+ from erpnext.stock.get_item_details import apply_price_list
+
+ item_code = "_Test Item"
+ price_list = "_Test Buying Price List"
+
+ original = frappe.db.get_single_value("Buying Settings", "maintain_same_rate")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ try:
+ po = create_purchase_order(item_code=item_code, rate=175, qty=1)
+
+ row_name = "pr-row-1"
+ pr_doc = {
+ "doctype": "Purchase Receipt",
+ "items": [
+ {
+ "name": row_name,
+ "item_code": item_code,
+ "purchase_order_item": po.items[0].name,
+ "price_list_rate": 175,
+ "rate": 175,
+ }
+ ],
+ }
+ ctx = frappe._dict(
+ doctype="Purchase Receipt",
+ supplier=po.supplier,
+ company=po.company,
+ currency=po.currency,
+ conversion_rate=1.0,
+ price_list=price_list,
+ plc_conversion_rate=1.0,
+ transaction_date=nowdate(),
+ items=[
+ frappe._dict(
+ doctype="Purchase Receipt Item",
+ parenttype="Purchase Receipt",
+ item_code=item_code,
+ child_docname=row_name,
+ qty=1,
+ uom=po.items[0].uom,
+ stock_uom=po.items[0].stock_uom,
+ conversion_factor=1.0,
+ )
+ ],
+ )
+
+ result = apply_price_list(ctx, doc=pr_doc)
+ self.assertEqual(flt(result["children"][0].get("price_list_rate")), 175)
+ finally:
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", original)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ def test_maintain_same_rate_keeps_source_discount_on_refetch(self):
+ """A mapped source row with a discount has rate != price_list_rate. Re-fetch must
+ return the source's rate and discount, not just the pre-discount price, or the
+ recomputed rate diverges from the reference and fails maintain-same-rate on save.
+ """
+ from frappe.utils import flt
+
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+
+ item_code = "_Test Item"
+ price_list = "_Test Buying Price List"
+
+ original = frappe.db.get_single_value("Buying Settings", "maintain_same_rate")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ try:
+ # source PO carries the discount: list rate 100, 10% off, effective rate 90
+ frappe.flags.dont_fetch_price_list_rate = True
+ po = create_purchase_order(item_code=item_code, qty=1, do_not_save=True)
+ po.buying_price_list = price_list
+ po.items[0].price_list_rate = 100
+ po.items[0].discount_percentage = 10
+ po.items[0].rate = 90
+ po.insert()
+ po.submit()
+ frappe.flags.dont_fetch_price_list_rate = False
+
+ row_name = "pr-row-1"
+ pr_doc = {
+ "doctype": "Purchase Receipt",
+ "items": [
+ {"name": row_name, "item_code": item_code, "purchase_order_item": po.items[0].name}
+ ],
+ }
+ ctx = frappe._dict(
+ item_code=item_code,
+ doctype="Purchase Receipt",
+ company=po.company,
+ supplier=po.supplier,
+ currency=po.currency,
+ conversion_rate=1.0,
+ price_list=price_list,
+ price_list_currency=po.currency,
+ plc_conversion_rate=1.0,
+ warehouse="_Test Warehouse - _TC",
+ uom=po.items[0].uom,
+ stock_uom=po.items[0].stock_uom,
+ qty=1,
+ child_docname=row_name,
+ is_return=0,
+ is_internal_supplier=0,
+ ignore_pricing_rule=1,
+ )
+
+ out = get_item_details(ctx, pr_doc)
+ self.assertEqual(flt(out.get("price_list_rate")), 100)
+ self.assertEqual(flt(out.get("rate")), 90)
+ self.assertEqual(flt(out.get("discount_percentage")), 10)
+ finally:
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", original)
+ frappe.clear_cache(doctype="Buying Settings")
+ frappe.flags.dont_fetch_price_list_rate = False
+
+ def test_refetch_restores_source_rate_after_target_edit(self):
+ """Editing a mapped row's rate then re-fetching must restore the persisted source
+ rate (read from the linked row), not lock in the edit, so the document still saves.
+ """
+ from frappe.utils import flt
+
+ from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+
+ item = "_Test Item"
+ original = frappe.db.get_single_value("Buying Settings", "maintain_same_rate")
+ original_action = frappe.db.get_single_value("Buying Settings", "maintain_same_rate_action")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate_action", "Stop")
+ frappe.clear_cache(doctype="Buying Settings")
+
+ try:
+ po = create_purchase_order(item_code=item, qty=1, rate=90)
+ pr = make_purchase_receipt(po.name)
+ pr.insert()
+
+ # user edits the mapped row to a non-source rate
+ pr.items[0].price_list_rate = 200
+ pr.items[0].rate = 200
+
+ # a re-fetch must restore the persisted source (PO) rate, not keep the edit
+ pr.process_item_selection(item_idx=pr.items[0].idx)
+ self.assertEqual(flt(pr.items[0].rate), 90)
+ pr.save() # must not raise the maintain-same-rate check
+ finally:
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", original)
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate_action", original_action)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ def test_rate_lock_source_lookup_checks_permission(self):
+ """The lock reads source pricing via a direct DB read, so it must not disclose a
+ source document's pricing to a caller who cannot read that document.
+ """
+ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
+ from erpnext.stock.get_item_details import get_rate_locked_source_row
+
+ original = frappe.db.get_single_value("Buying Settings", "maintain_same_rate")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+ frappe.clear_cache(doctype="Buying Settings")
+
+ role, email = "_Test Role Without PO Access", "_test_rate_lock_probe@example.com"
+ try:
+ po = create_purchase_order(item_code="_Test Item", qty=1, rate=90)
+ pr_doc = {
+ "doctype": "Purchase Receipt",
+ "items": [{"name": "r1", "item_code": "_Test Item", "purchase_order_item": po.items[0].name}],
+ }
+ ctx = frappe._dict(doctype="Purchase Receipt", child_docname="r1")
+
+ # an authorized caller receives the source row
+ self.assertIsNotNone(get_rate_locked_source_row(ctx.copy(), dict(pr_doc)))
+
+ if not frappe.db.exists("Role", role):
+ frappe.get_doc({"doctype": "Role", "role_name": role, "desk_access": 1}).insert(
+ ignore_permissions=True
+ )
+ if not frappe.db.exists("User", email):
+ frappe.get_doc(
+ {
+ "doctype": "User",
+ "email": email,
+ "first_name": "Probe",
+ "send_welcome_email": 0,
+ "roles": [{"role": role}],
+ }
+ ).insert(ignore_permissions=True)
+
+ frappe.set_user(email)
+ # a caller who cannot read the Purchase Order gets nothing
+ self.assertIsNone(get_rate_locked_source_row(ctx.copy(), dict(pr_doc)))
+ finally:
+ frappe.set_user("Administrator")
+ frappe.db.set_single_value("Buying Settings", "maintain_same_rate", original)
+ frappe.clear_cache(doctype="Buying Settings")
diff --git a/erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json b/erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json
index b55f02f9f52..e51a4ea6bf3 100644
--- a/erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json
+++ b/erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json
@@ -107,6 +107,7 @@
"fieldname": "conversion_factor",
"fieldtype": "Float",
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -128,7 +129,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
- "modified": "2024-03-27 13:10:45.904619",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting BOM",
diff --git a/erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json b/erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
index 11da413fc14..9b20def35c2 100644
--- a/erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
+++ b/erpnext/subcontracting/doctype/subcontracting_inward_order_item/subcontracting_inward_order_item.json
@@ -87,6 +87,7 @@
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -186,7 +187,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2025-10-18 18:04:04.204651",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting Inward Order Item",
diff --git a/erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json b/erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
index 44ec2185ce6..19df4007581 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
+++ b/erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
@@ -174,6 +174,7 @@
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -425,7 +426,7 @@
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2026-02-27 23:03:36.436504",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting Order Item",
diff --git a/erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json b/erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
index acd6aae6220..8a1c41ed499 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
+++ b/erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
@@ -63,6 +63,7 @@
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -176,7 +177,7 @@
"hide_toolbar": 1,
"istable": 1,
"links": [],
- "modified": "2025-10-30 16:00:43.379828",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting Order Supplied Item",
diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json b/erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
index b6d07f66b98..8622889515e 100644
--- a/erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+++ b/erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
@@ -201,6 +201,7 @@
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -635,7 +636,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2026-03-09 15:11:16.977539",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting Receipt Item",
diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json b/erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
index ce3494e879d..a76f289100c 100644
--- a/erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
+++ b/erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
@@ -132,6 +132,7 @@
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
+ "precision": "9",
"read_only": 1
},
{
@@ -264,7 +265,7 @@
"idx": 1,
"istable": 1,
"links": [],
- "modified": "2025-05-27 12:33:58.772638",
+ "modified": "2026-08-07 17:31:31.732720",
"modified_by": "Administrator",
"module": "Subcontracting",
"name": "Subcontracting Receipt Supplied Item",
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 3ff42ed6a09..97dbcfaa4d6 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -350,13 +350,25 @@ class TransactionBase(StatusUpdater):
)
@frappe.whitelist()
- def process_item_selection(self, item_idx):
+ def process_item_selection(self, item_idx: int, reset_item_details: bool = False):
# Server side 'item' doc. Update this to reflect in UI
item_obj = self.get("items", {"idx": item_idx})[0]
if not item_obj.item_code:
return
+ if cint(reset_item_details):
+ # Do not carry item-specific values from the previously selected item.
+ for fieldname in (
+ "weight_per_unit",
+ "weight_uom",
+ "uom",
+ "conversion_factor",
+ "barcode",
+ "pricing_rules",
+ ):
+ item_obj.set(fieldname, None)
+
# 'item_details' has latest item related values
item_details = self.fetch_item_details(item_obj)
@@ -548,7 +560,9 @@ class TransactionBase(StatusUpdater):
from erpnext.stock.get_item_details import apply_price_list
args = {
- "items": [x.as_dict() for x in self.items],
+ # pass child_docname so the maintain-same-rate lock in apply_price_list can
+ # match each row, consistent with the desk (JS) callers
+ "items": [{**x.as_dict(), "child_docname": x.name} for x in self.items],
"customer": self.customer or self.party_name,
"quotation_to": self.quotation_to,
"customer_group": self.customer_group,