diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1cf9a5bd9b5..9f040b4e62e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -6,7 +6,7 @@ Feature requests are also a great way to take the product forward. New ideas can When you are raising an Issue, you should keep a few things in mind. Remember that the developer does not have access to your machine so you must give all the information you can while raising an Issue. If you are suggesting a feature, you should be very clear about what you want. -The Issue list is not the right place to ask a question or start a general discussion. If you want to do that , then the right place is the forum [https://discuss.erpnext.com](https://discuss.erpnext.com). +The Issue list is not the right place to ask a question or start a general discussion. If you want to do that , then the right place is the forum [https://discuss.frappe.io](https://discuss.frappe.io/c/erpnext/6). ### Reply and Closing Policy diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4d61f1fb943..8b13b00c042 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -9,7 +9,7 @@ body: Welcome to ERPNext issue tracker! Before creating an issue, please heed the following: 1. This tracker should only be used to report bugs and request features / enhancements to ERPNext - - For questions and general support, checkout the [user manual](https://docs.erpnext.com/) or use [forum](https://discuss.erpnext.com) + - For questions and general support, checkout the [user manual](https://docs.erpnext.com/) or use [forum](https://discuss.frappe.io/c/erpnext/6) - For documentation issues, propose edit on [documentation site](https://docs.erpnext.com/) directly. 2. When making a bug report, make sure you provide all required information. The easier it is for maintainers to reproduce, the faster it'll be fixed. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 26bb7ab280c..7b58c0d3a3a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Community Forum - url: https://discuss.erpnext.com/ + url: https://discuss.frappe.io/c/erpnext/6 about: For general QnA, discussions and community help. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 607e42d1b49..38d881e24ae 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -11,7 +11,7 @@ assignees: '' Welcome to ERPNext issue tracker! Before creating an issue, please heed the following: 1. This tracker should only be used to report bugs and request features / enhancements to ERPNext - - For questions and general support, checkout the manual https://erpnext.com/docs/user/manual/en or use https://discuss.erpnext.com + - For questions and general support, checkout the manual https://docs.erpnext.com or use https://discuss.frappe.io/c/erpnext/6 2. Use the search function before creating a new issue. Duplicates will be closed and directed to the original discussion. 3. When making a feature request, make sure to be as verbose as possible. The better you convey your message, the greater the drive to make it happen. @@ -21,7 +21,7 @@ Please keep in mind that we get many many requests and we can't possibly work on If you're in urgent need to a feature, please try the following channels to get paid developments done quickly: 1. Certified ERPNext partners: https://erpnext.com/partners -2. Developer community on ERPNext forums: https://discuss.erpnext.com/c/developers/5 +2. Developer community on ERPNext forums: https://discuss.frappe.io/c/framework/5 3. Telegram group for ERPNext/Frappe development work: https://t.me/erpnext_opps --> diff --git a/README.md b/README.md index a3b1ae1f0ef..96ac64c035f 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,7 @@ To setup the repository locally follow the steps mentioned below: 1. [Frappe School](https://school.frappe.io) - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community. 2. [Official documentation](https://docs.erpnext.com/) - Extensive documentation for ERPNext. -3. [Discussion Forum](https://discuss.erpnext.com/) - Engage with community of ERPNext users and service providers. +3. [Discussion Forum](https://discuss.frappe.io/c/erpnext/6) - Engage with community of ERPNext users and service providers. 4. [Telegram Group](https://erpnext_public.t.me) - Get instant help from huge community of users. diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index 0ccf997e66f..cb34b172ab4 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -46,7 +46,8 @@ def validate_service_stop_date(doc): if ( old_stop_dates and old_stop_dates.get(item.name) - and item.service_stop_date != old_stop_dates.get(item.name) + and item.service_stop_date + and getdate(item.service_stop_date) != getdate(old_stop_dates.get(item.name)) ): frappe.throw(_("Cannot change Service Stop Date for item in row {0}").format(item.idx)) diff --git a/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json b/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json index 5ad2479e858..35a3196c140 100644 --- a/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json +++ b/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json @@ -82,7 +82,7 @@ "in_create": 1, "index_web_pages_for_search": 1, "links": [], - "modified": "2025-07-29 11:37:42.678556", + "modified": "2025-10-13 15:11:58.300836", "modified_by": "Administrator", "module": "Accounts", "name": "Advance Payment Ledger Entry", diff --git a/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.py b/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.py index fa863741d51..599bd2c5e4c 100644 --- a/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.py +++ b/erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.py @@ -34,3 +34,15 @@ class AdvancePaymentLedgerEntry(Document): and not frappe.flags.is_reverse_depr_entry ): update_voucher_outstanding(self.against_voucher_type, self.against_voucher_no, None, None, None) + + +def on_doctype_update(): + frappe.db.add_index( + "Advance Payment Ledger Entry", + ["against_voucher_type", "against_voucher_no"], + ) + + frappe.db.add_index( + "Advance Payment Ledger Entry", + ["voucher_type", "voucher_no"], + ) diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html index c3603290f47..5aac9d902e1 100644 --- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html +++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html @@ -13,7 +13,7 @@ {% endif %} -
|
+
+ {% set company_logo = frappe.db.get_value("Company", doc.company, "company_logo") %}
+ {% if company_logo %}
+
+ |
+
+
+
+ {{ doc.company }}
+
+ {% if doc.company_address %}
+ {% set company_address = frappe.db.get_value("Address", doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode", "country"], as_dict=True) %}
+
+ {{ company_address.get("address_line1") or "" }}+ {% if company_address.get("address_line2") %}{{ company_address.get("address_line2") }} {% endif %} + {{ company_address.get("city") or "" }}, {{ company_address.get("state") or "" }} {{ company_address.get("pincode") or "" }}, {{ company_address.get("country") or "" }} + {% endif %} + |
+
+
+ {% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
+
+
+ {{ _("Invoice:") }}
+ {{ doc.name }}
+
+ {% if company_details.website %}
+
+ {{ _("Website:") }}
+ {{ company_details.website }}
+
+ {% endif %}
+ {% if company_details.email %}
+
+ {{ _("Email:") }}
+ {{ company_details.email }}
+
+ {% endif %}
+ {% if company_details.phone_no %}
+
+ {{ _("Contact:") }}
+ {{ company_details.phone_no }}
+
+ {% endif %}
+ |
+
|
+ {% set company_logo = frappe.db.get_value("Company", doc.company, "company_logo") %} {% if
+ company_logo %}
+
+
+ {% endif %}
+ {{ doc.company }}
+
+ {% if doc.company_address %}
+ {% set company_address = frappe.db.get_value("Address", doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode", "country"], as_dict=True) %}
+ {{ company_address.address_line1 or "" }}
+ + {% if company_address.address_line2 %} {{ company_address.address_line2 }} {% endif %} + {{ company_address.city or "" }}, {{ company_address.state or "" }} + {{ company_address.pincode or "" }}, {{ company_address.country or ""}} + {% endif %} + |
+
+
+
+
+ {{ _("Sales Invoice") }}
+ {{ doc.name }}
+ +
+ {% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
+ {% if company_details.website %}
+
+
+ {{ _("Website:") }}{{ company_details.website }}
+
+ {% endif %}
+ {% if company_details.email %}
+
+ {{ _("Email:") }}{{ company_details.email }}
+
+ {% endif %}
+ {% if company_details.phone_no %}
+
+ {{ _("Contact:") }}{{ company_details.phone_no }}
+
+ {% endif %}
+ |
+
| \n\t\t\t\t\t{{ _(\"Customer Name\") }}: {{doc.customer_name }}\n\t\t\t\t | \n\t\t\t\t\n\t\t\t\t\t{{ _(\"Payment Due Date\") }}: {{\n\t\t\t\t\tfrappe.utils.format_date(doc.due_date) }}\n\t\t\t\t | \n\t\t\t
| {{ _(\"Invoice Number\") }}: {{ doc.name }} | \n\t\t\t\t\n\t\t\t\t\t{{ _(\"Invoice Date\") }}: {{\n\t\t\t\t\tfrappe.utils.format_date(doc.posting_date) }}\n\t\t\t\t | \n\t\t\t
| {{ _(\"Bill From\") }}: \n\t\t\t\t\t{% if doc.company_address %}\n {% set company_address = frappe.db.get_value(\"Address\", doc.company_address, [\"address_line1\", \"address_line2\", \"city\", \"state\", \"pincode\", \"country\"], as_dict=True) %}\n {{ doc.company }} \n {{ company_address.get(\"address_line1\") or \"\" }} \n {% if company_address.get(\"address_line2\") %}{{ company_address.get(\"address_line2\") }} {% endif %}\n {{ company_address.get(\"city\") or \"\" }}, {{ company_address.get(\"state\") or \"\" }} {{ company_address.get(\"pincode\") or \"\" }}, {{ company_address.get(\"country\") or \"\" }} \n {% endif %}\n\t\t\t\t | \n\t\t\t\t{{ _(\"Bill To\") }}: \n\t\t\t\t {% if doc.customer_address %}\n\t\t\t\t\t\t{% set customer_address = frappe.db.get_value(\"Address\", doc.customer_address, [\"address_line1\", \"address_line2\", \"city\", \"state\", \"pincode\", \"country\"], as_dict=True) %}\n {{ doc.customer_name }} \n\t\t\t\t\t\t{{ customer_address.address_line1 or \"\" }} \n\t\t\t\t\t\t{% if customer_address.address_line2 %}{{ customer_address.address_line2 }} {% endif %}\n\t\t\t\t\t\t{{ customer_address.city or \"\" }} {{ customer_address.state or \"\" }} {{ customer_address.pincode or \"\" }} {{ customer_address.country or \"\" }} \n\t\t\t\t\t{% endif %}\n\t\t\t\t | \n\t\t\t
| {{ _(\"No\") }} | \n\t\t\t\t\t{{ _(\"Item\") }} | \n\t\t\t\t\t{% if item_naming_by != \"Item Code\" %}\n\t\t\t\t\t\t{{ _(\"Item Code\") }} | \n\t\t\t\t\t{% endif %}\n\t\t\t\t\t{{ _(\"Quantity\") }} | \n\t\t\t\t\t{{ _(\"Rate\") }} | \n\t\t\t\t\t{{ _(\"Amount\") }} | \n\t\t\t\t
| {{ loop.index }} | \n\t\t\t\t\t{{ item.item_name }} | \n\t\t\t\t\t{% if item_naming_by != \"Item Code\" %}\n\t\t\t\t\t\t{{ item.item_code }} | \n\t\t\t\t\t{% endif %}\n\t\t\t\t\t{{ item.get_formatted(\"qty\", 0) }} {{ item.uom }} | \n\t\t\t\t\t{{ item.get_formatted(\"net_rate\", doc) }} | \n\t\t\t\t\t\n\t\t\t\t\t\t{{ item.get_formatted(\"net_amount\", doc) }}\n\t\t\t\t\t | \n\t\t\t\t
| \n\t\t\t\t {{ _(\"Total in words\") }} \n\t\t\t\t{{ doc.in_words }} \n\t\t\t | \n\t\t\t\n\t\t\t\t \n\t\t\t | \n\t\t\t\n\t\t\t\t
| \n\t\t
| \n\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\tCustomer Name: \n\t\t\t\t\t\tBill to: \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t{{ doc.customer_name }} \n\t\t\t\t\t\t\n \t\t\t\t\t{% if doc.customer_address %}\n \t\t\t\t\t\t{% set customer_address = frappe.db.get_value(\"Address\", doc.customer_address, [\"address_line1\", \"address_line2\", \"city\", \"state\", \"pincode\", \"country\"], as_dict=True) %}\n \t\t\t\t\t\t{{ customer_address.address_line1 or \"\" }} \n\n\t\t\t\t\t\n \t\t\t\t\t\t{% if customer_address.address_line2 %}{{ customer_address.address_line2 }} {% endif %}\n \t\t\t\t\t\t{{ customer_address.city or \"\" }} {{ customer_address.state or \"\" }} {{ customer_address.pincode or \"\" }} {{ customer_address.country or \"\" }} \n \t\t\t\t\t{% endif %}\n\t\t\t\t\t\t | \n\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\tInvoice Number: \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t{{ doc.name }} \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\tInvoice Date: \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t{{ frappe.utils.format_date(doc.posting_date) }} \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\tPayment Due Date: \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t{{ frappe.utils.format_date(doc.due_date) }} \n\t\t\t\t\t | \n\t\t\t
| {{ _(\"No\") }} | \n\t\t\t\t\t{{ _(\"Item\") }} | \n\t\t\t\t\t{% if item_naming_by != \"Item Code\" %}\n\t\t\t\t\t\t{{ _(\"Item Code\") }} | \n\t\t\t\t\t{% endif %}\n\t\t\t\t\t{{ _(\"Quantity\") }} | \n\t\t\t\t\t{{ _(\"Rate\") }} | \n\t\t\t\t\t{{ _(\"Amount\") }} | \n\t\t\t\t||
| {{ loop.index }} | \n\t\t\t\t\t\n\t\t\t\t\t\t
| \n\t\t\t\t\t{% if item_naming_by != \"Item Code\" %}\n\t\t\t\t\t\t{{ item.item_code }} | \n\t\t\t\t\t{% endif %}\n\n\t\t\t\t\t{{ item.get_formatted(\"qty\", 0) }} {{ item.uom }} | \n\t\t\t\t\t{{ item.get_formatted(\"net_rate\", doc) }} | \n\t\t\t\t\t{{ item.get_formatted(\"net_amount\", doc) }} | \n\t\t\t\t
| {{ _(\"Sub Total:\") }} | \n\t\t\t\t\t{{ doc.get_formatted(\"total\", doc) }} | \n\t\t\t\t
| \n\t\t\t\t\t\t\t{{ _(\"Discount\") }} ({{ doc.additional_discount_percentage }}%):\n\t\t\t\t\t\t | \n\t\t\t\t\t\t{{ doc.get_formatted(\"discount_amount\", doc) }} | \n\t\t\t\t\t
| {{ tax.get_formatted(\"description\") }} ({{ tax.get_formatted(\"rate\") }}%): | \n\t\t\t\t\t\t\t{{ tax.get_formatted(\"tax_amount\") }} | \n\t\t\t\t\t\t
| \n\t\t\t\t\t\t\t{{ _(\"Discount\") }} ({{ doc.additional_discount_percentage }}%):\n\t\t\t\t\t\t | \n\t\t\t\t\t\t{{ doc.get_formatted(\"discount_amount\", doc) }} | \n\t\t\t\t\t
| \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t {{ _(\"In Words: \") }}{{ doc.in_words }}\n\t\t\t\t\t\t \n\t\t\t\t\t | \n\t\t\t\t\t{{ _(\"Grand Total:\") }} | \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ doc.get_formatted(\"grand_total\", doc) }}\n\t\t\t\t\t\t\n\t\t\t\t\t | \n\t\t\t\t
Statement Of Accounts for {{ customer.customer_name }}Hello {{ customer.customer_name }},
PFA your Statement Of Accounts from {{ doc.from_date }} to {{ doc.to_date }}. Aggregate group of Items into another Item. This is useful if you are bundling a certain Items into a package and you maintain stock of the packed Items and not the aggregate Item.
\n" +"The package Item will have Is Stock Item as No and Is Sales Item as Yes.
If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.
" +msgstr "" + +#. Content of the 'Help' (HTML) field in DocType 'Currency Exchange Settings' +#: erpnext/accounts/doctype/currency_exchange_settings/currency_exchange_settings.json +msgid "There are 3 variables that could be used within the endpoint, result key and in values of the parameter.
\n" +"Exchange rate between {from_currency} and {to_currency} on {transaction_date} is fetched by the API.
\n" +"Example: If your endpoint is exchange.com/2021-08-01, then, you will have to input exchange.com/{transaction_date}
" +msgstr "" + +#. Content of the 'Body and Closing Text Help' (HTML) field in DocType 'Dunning +#. Letter Text' +#: erpnext/accounts/doctype/dunning_letter_text/dunning_letter_text.json +msgid "The fieldnames you can use in your template are the fields in the document. You can find out the fields of any documents via Setup > Customize Form View and selecting the document type (e.g. Sales Invoice)
\n\n" +"Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.
" +msgstr "" + +#. Content of the 'Contract Template Help' (HTML) field in DocType 'Contract +#. Template' +#: erpnext/crm/doctype/contract_template/contract_template.json +msgid "Contract for Customer {{ party_name }}\n\n"
+"-Valid From : {{ start_date }} \n"
+"-Valid To : {{ end_date }}\n"
+"\n\n"
+"The field names you can use in your Contract Template are the fields in the Contract for which you are creating the template. You can find out the fields of any documents via Setup > Customize Form View and selecting the document type (e.g. Contract)
\n\n" +"Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.
" +msgstr "" + +#. Content of the 'Terms and Conditions Help' (HTML) field in DocType 'Terms +#. and Conditions' +#: erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json +msgid "Delivery Terms for Order number {{ name }}\n\n"
+"-Order Date : {{ transaction_date }} \n"
+"-Expected Delivery Date : {{ delivery_date }}\n"
+"\n\n"
+"The fieldnames you can use in your email template are the fields in the document from which you are sending the email. You can find out the fields of any documents via Setup > Customize Form View and selecting the document type (e.g. Sales Invoice)
\n\n" +"Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.
" +msgstr "" + +#. Content of the 'html_5' (HTML) field in DocType 'Bank Statement Import' +#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.json +msgid "Cannot overbill for the following Items:
" +msgstr "" + +#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:157 +msgid "Following {0}s doesn't belong to Company {1} :
" +msgstr "" + +#. Content of the 'html_llwp' (HTML) field in DocType 'Request for Quotation' +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json +msgid "In your Email Template, you can use the following special variables:\n" +"
\n" +"{{ update_password_link }}: A link where your supplier can set a new password to log into your portal.\n"
+" {{ portal_link }}: A link to this RFQ in your supplier portal.\n"
+" {{ supplier_name }}: The company name of your supplier.\n"
+" {{ contact.salutation }} {{ contact.last_name }}: The contact person of your supplier.\n"
+" {{ user_fullname }}: Your full name.\n"
+" Apart from these, you can access all values in this RFQ, like {{ message_for_supplier }} or {{ terms }}.
Please correct the following row(s):
Posting Date {0} cannot be before Purchase Order date for the following:
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:2195 +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 "\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> 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 "" + +#. Header text in the Stock Workspace +#: erpnext/stock/workspace/stock/stock.json +msgid "Masters & Reports" +msgstr "" + +#. Header text in the Selling Workspace +#. Header text in the Stock Workspace +#: erpnext/selling/workspace/selling/selling.json +#: erpnext/stock/workspace/stock/stock.json +msgid "Quick Access" +msgstr "" + +#. Header text in the Assets Workspace +#. Header text in the Quality Workspace +#: erpnext/assets/workspace/assets/assets.json +#: erpnext/quality_management/workspace/quality/quality.json +msgid "Reports & Masters" +msgstr "" + +#. Header text in the Accounting Workspace +#. Header text in the Payables Workspace +#. Header text in the Receivables Workspace +#. Header text in the Buying Workspace +#. Header text in the CRM Workspace +#. Header text in the Manufacturing Workspace +#. Header text in the Projects Workspace +#. Header text in the Selling Workspace +#. Header text in the Home Workspace +#. Header text in the Support Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +#: erpnext/accounts/workspace/payables/payables.json +#: erpnext/accounts/workspace/receivables/receivables.json +#: erpnext/buying/workspace/buying/buying.json +#: erpnext/crm/workspace/crm/crm.json +#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json +#: erpnext/projects/workspace/projects/projects.json +#: erpnext/selling/workspace/selling/selling.json +#: erpnext/setup/workspace/home/home.json +#: erpnext/support/workspace/support/support.json +msgid "Reports & Masters" +msgstr "" + +#. Header text in the Settings Workspace +#: erpnext/setup/workspace/settings/settings.json +msgid "Settings" +msgstr "" + +#. Header text in the Accounting Workspace +#. Header text in the Payables Workspace +#. Header text in the Receivables Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +#: erpnext/accounts/workspace/payables/payables.json +#: erpnext/accounts/workspace/receivables/receivables.json +msgid "Shortcuts" +msgstr "" + +#. Header text in the Settings Workspace +#: erpnext/setup/workspace/settings/settings.json +msgid "Your Shortcuts\n" +"\t\t\t\n" +"\t\t\n" +"\t\t\t\n" +"\t\t\n" +"\t\t\t\n" +"\t\t" +msgstr "" + +#. Header text in the Assets Workspace +#. Header text in the Buying Workspace +#. Header text in the CRM Workspace +#. Header text in the Manufacturing Workspace +#. Header text in the Projects Workspace +#. Header text in the Quality Workspace +#. Header text in the Home Workspace +#. Header text in the Support Workspace +#: erpnext/assets/workspace/assets/assets.json +#: erpnext/buying/workspace/buying/buying.json +#: erpnext/crm/workspace/crm/crm.json +#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json +#: erpnext/projects/workspace/projects/projects.json +#: erpnext/quality_management/workspace/quality/quality.json +#: erpnext/setup/workspace/home/home.json +#: erpnext/support/workspace/support/support.json +msgid "Your Shortcuts" +msgstr "" + +#: erpnext/accounts/doctype/payment_request/payment_request.py:991 +msgid "Grand Total: {0}" +msgstr "" + +#: erpnext/accounts/doctype/payment_request/payment_request.py:992 +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 "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" +"
| Child Document | \n" +"Non Child Document | \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" +" | \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"
+"
This action will also delete all associated Common Code documents.
" +msgstr "" + +#: erpnext/accounts/doctype/subscription/subscription.js:75 +msgid "Are you sure you want to restart this subscription?" +msgstr "" + +#. Label of the area (Float) field in DocType 'Location' +#. Name of a UOM +#: erpnext/assets/doctype/location/location.json +#: erpnext/setup/setup_wizard/data/uom_data.json +msgid "Area" +msgstr "" + +#. Label of the area_uom (Link) field in DocType 'Location' +#: erpnext/assets/doctype/location/location.json +msgid "Area UOM" +msgstr "" + +#: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:423 +msgid "Arrival Quantity" +msgstr "" + +#. Name of a UOM +#: erpnext/setup/setup_wizard/data/uom_data.json +msgid "Arshin" +msgstr "" + +#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:57 +#: erpnext/stock/report/stock_ageing/stock_ageing.js:16 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.js:30 +msgid "As On Date" +msgstr "" + +#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.js:15 +#: 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 "" + +#. Description of the 'Finished Good Quantity ' (Float) field in DocType 'Stock +#. Entry' +#: erpnext/stock/doctype/stock_entry/stock_entry.json +msgid "As per Stock UOM" +msgstr "" + +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:189 +msgid "As the field {0} is enabled, the field {1} is mandatory." +msgstr "" + +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:197 +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:992 +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:208 +msgid "As there are negative stock, you can not enable {0}." +msgstr "" + +#: erpnext/stock/doctype/stock_settings/stock_settings.py:222 +msgid "As there are reserved stock, you cannot disable {0}." +msgstr "" + +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1047 +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:1761 +msgid "As there are sufficient raw materials, Material Request is not required for Warehouse {0}." +msgstr "" + +#: erpnext/stock/doctype/stock_settings/stock_settings.py:176 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:188 +msgid "As {0} is enabled, you can not enable {1}." +msgstr "" + +#. Label of the po_items (Table) field in DocType 'Production Plan' +#: erpnext/manufacturing/doctype/production_plan/production_plan.json +msgid "Assembly Items" +msgstr "" + +#. Option for the 'Root Type' (Select) field in DocType 'Account' +#. Option for the 'Reference Type' (Select) field in DocType 'Journal Entry +#. Account' +#. Option for the 'Root Type' (Select) field in DocType 'Ledger Merge' +#. Label of the asset (Link) field in DocType 'POS Invoice Item' +#. Label of the asset (Link) field in DocType 'Sales Invoice Item' +#. Name of a DocType +#. Label of the asset (Link) field in DocType 'Asset Activity' +#. Label of the asset (Link) field in DocType 'Asset Capitalization Asset Item' +#. Label of the asset (Link) field in DocType 'Asset Depreciation Schedule' +#. Label of the asset (Link) field in DocType 'Asset Movement Item' +#. Label of the asset (Link) field in DocType 'Asset Repair' +#. Label of the asset (Link) field in DocType 'Asset Shift Allocation' +#. Label of the asset (Link) field in DocType 'Asset Value Adjustment' +#. Label of a Link in the Assets Workspace +#. Label of a shortcut in the Assets Workspace +#. Label of the asset (Link) field in DocType 'Serial No' +#: erpnext/accounts/doctype/account/account.json +#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json +#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json +#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json +#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json +#: erpnext/accounts/report/account_balance/account_balance.js:25 +#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js:30 +#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:140 +#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.js:44 +#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:579 +#: erpnext/assets/doctype/asset/asset.json +#: erpnext/assets/doctype/asset_activity/asset_activity.json +#: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json +#: erpnext/assets/doctype/asset_movement_item/asset_movement_item.json +#: erpnext/assets/doctype/asset_repair/asset_repair.json +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.json +#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json +#: erpnext/assets/workspace/assets/assets.json +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:225 +#: erpnext/stock/doctype/serial_no/serial_no.json +msgid "Asset" +msgstr "" + +#. Label of the asset_account (Link) field in DocType 'Share Transfer' +#: erpnext/accounts/doctype/share_transfer/share_transfer.json +msgid "Asset Account" +msgstr "" + +#. Name of a DocType +#. Name of a report +#. Label of a Link in the Assets Workspace +#: erpnext/assets/doctype/asset_activity/asset_activity.json +#: erpnext/assets/report/asset_activity/asset_activity.json +#: erpnext/assets/workspace/assets/assets.json +msgid "Asset Activity" +msgstr "" + +#. Group in Asset's connections +#. Name of a DocType +#. Label of a Link in the Assets Workspace +#: erpnext/assets/doctype/asset/asset.json +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json +#: erpnext/assets/workspace/assets/assets.json +msgid "Asset Capitalization" +msgstr "" + +#. Name of a DocType +#: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json +msgid "Asset Capitalization Asset Item" +msgstr "" + +#. Name of a DocType +#: erpnext/assets/doctype/asset_capitalization_service_item/asset_capitalization_service_item.json +msgid "Asset Capitalization Service Item" +msgstr "" + +#. Name of a DocType +#: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json +msgid "Asset Capitalization Stock Item" +msgstr "" + +#. Label of the asset_category (Link) field in DocType 'Purchase Invoice Item' +#. Label of the asset_category (Link) field in DocType 'Asset' +#. Name of a DocType +#. Label of the asset_category (Read Only) field in DocType 'Asset Maintenance' +#. Label of the asset_category (Read Only) field in DocType 'Asset Value +#. Adjustment' +#. Label of a Link in the Assets Workspace +#. Label of a shortcut in the Assets Workspace +#. Label of the asset_category (Link) field in DocType 'Item' +#. Label of the asset_category (Link) field in DocType 'Purchase Receipt Item' +#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json +#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js:36 +#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:190 +#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.js:37 +#: erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py:569 +#: erpnext/assets/doctype/asset/asset.json +#: erpnext/assets/doctype/asset_category/asset_category.json +#: erpnext/assets/doctype/asset_maintenance/asset_maintenance.json +#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:23 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:483 +#: erpnext/assets/workspace/assets/assets.json +#: erpnext/stock/doctype/item/item.json +#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json +msgid "Asset Category" +msgstr "" + +#. Name of a DocType +#: erpnext/assets/doctype/asset_category_account/asset_category_account.json +msgid "Asset Category Account" +msgstr "" + +#. Label of the asset_category_name (Data) field in DocType 'Asset Category' +#: erpnext/assets/doctype/asset_category/asset_category.json +msgid "Asset Category Name" +msgstr "" + +#: erpnext/stock/doctype/item/item.py:318 +msgid "Asset Category is mandatory for Fixed Asset item" +msgstr "" + +#. Label of the depreciation_cost_center (Link) field in DocType 'Company' +#: erpnext/setup/doctype/company/company.json +msgid "Asset Depreciation Cost Center" +msgstr "" + +#. Name of a report +#. Label of a Link in the Assets Workspace +#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.json +#: erpnext/assets/workspace/assets/assets.json +msgid "Asset Depreciation Ledger" +msgstr "" + +#. Name of a DocType +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json +msgid "Asset Depreciation Schedule" +msgstr "" + +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:179 +msgid "Asset Depreciation Schedule for Asset {0} and Finance Book {1} is not using shift based depreciation" +msgstr "" + +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:247 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:185 +msgid "Asset Depreciation Schedule not found for Asset {0} and Finance Book {1}" +msgstr "" + +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:83 +msgid "Asset Depreciation Schedule {0} for Asset {1} already exists." +msgstr "" + +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:77 +msgid "Asset Depreciation Schedule {0} for Asset {1} and Finance Book {2} already exists." +msgstr "" + +#: erpnext/assets/doctype/asset/asset.py:177 +msgid "Asset Depreciation Schedules created/updated: