diff --git a/.github/workflows/generate-pot-file.yml b/.github/workflows/generate-pot-file.yml index 134d43ad1f0..ede3b54fd97 100644 --- a/.github/workflows/generate-pot-file.yml +++ b/.github/workflows/generate-pot-file.yml @@ -30,6 +30,11 @@ jobs: with: python-version: "3.14" + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: 24 + - name: Run script to update POT file run: | bash ${GITHUB_WORKSPACE}/.github/helper/update_pot_file.sh diff --git a/.github/workflows/initiate_release.yml b/.github/workflows/initiate_release.yml index 5b6536844fc..f57d46b354d 100644 --- a/.github/workflows/initiate_release.yml +++ b/.github/workflows/initiate_release.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["14", "15"] + version: ["14", "15", "16"] steps: - uses: octokit/request-action@v2.x diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml index fac11c071db..96816e59dee 100644 --- a/.github/workflows/patch.yml +++ b/.github/workflows/patch.yml @@ -113,8 +113,8 @@ jobs: jq 'del(.install_apps)' ~/frappe-bench/sites/test_site/site_config.json > tmp.json mv tmp.json ~/frappe-bench/sites/test_site/site_config.json - wget https://erpnext.com/files/v13-erpnext.sql.gz - bench --site test_site --force restore ~/frappe-bench/v13-erpnext.sql.gz + wget https://frappe.io/files/erpnext-v14.sql.gz + bench --site test_site --force restore ~/frappe-bench/erpnext-v14.sql.gz git -C "apps/frappe" remote set-url upstream https://github.com/frappe/frappe.git git -C "apps/erpnext" remote set-url upstream https://github.com/frappe/erpnext.git @@ -142,8 +142,8 @@ jobs: bench --site test_site migrate } - update_to_version 14 3.11 update_to_version 15 3.13 + update_to_version 16 3.14 echo "Updating to latest version" git -C "apps/frappe" fetch --depth 1 upstream "${GITHUB_BASE_REF:-${GITHUB_REF##*/}}" diff --git a/.github/workflows/server-tests-mariadb.yml b/.github/workflows/server-tests-mariadb.yml index 036f587dbf9..2bfe5e7065d 100644 --- a/.github/workflows/server-tests-mariadb.yml +++ b/.github/workflows/server-tests-mariadb.yml @@ -7,6 +7,7 @@ on: paths-ignore: - '**.js' - '**.css' + - '**.svg' - '**.md' - '**.html' - 'crowdin.yml' diff --git a/.mergify.yml b/.mergify.yml index 54e1bce46f2..5e558062048 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -50,13 +50,13 @@ pull_request_rules: - version-15-hotfix assignees: - "{{ author }}" - - name: backport to version-16-beta + - name: backport to version-16-hotfix conditions: - - label="backport version-16-beta" + - label="backport version-16-hotfix" actions: backport: branches: - - version-16-beta + - version-16-hotfix assignees: - "{{ author }}" - name: Automatic merge on CI success and review diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 6ecfb8df807..7e72b2b585d 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -6,7 +6,7 @@ import frappe from frappe.model.document import Document from frappe.utils.user import is_website_user -__version__ = "16.0.0-dev" +__version__ = "17.0.0-dev" def get_default_company(user=None): diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index c3e23fe6e50..7a8ed4dff43 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -7,7 +7,6 @@ from frappe.utils import ( cint, date_diff, flt, - formatdate, get_first_day, get_last_day, get_link_to_form, diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json new file mode 100644 index 00000000000..4d7f879ddc7 --- /dev/null +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -0,0 +1,2473 @@ +{ + "country_code": "fr", + "name": "France - Plan Comptable General 2025 avec code", + "tree": { + "1-Comptes de capitaux": { + "root_type": "Equity", + "10-Capital et r\u00e9serves": { + "101-Capital": { + "Capital souscrit - non appel\u00e9": { + "account_number": "1011" + }, + "Capital souscrit - appel\u00e9, non vers\u00e9": { + "account_number": "1012" + }, + "1013-Capital souscrit - appel\u00e9, vers\u00e9": { + "Capital non amorti": { + "account_number": "10131" + }, + "Capital amorti": { + "account_number": "10132" + } + }, + "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { + "account_number": "1018" + } + }, + "Fonds fiduciaires": { + "account_number": "102" + }, + "104-Primes li\u00e9es au capital": { + "Primes d'\u00e9mission": { + "account_number": "1041" + }, + "Primes de fusion": { + "account_number": "1042" + }, + "Primes d'apport": { + "account_number": "1043" + }, + "Primes de conversion d'obligations en actions": { + "account_number": "1044" + }, + "Bons de souscription d'actions": { + "account_number": "1045" + } + }, + "\u00c9carts de r\u00e9\u00e9valuation": { + "account_number": "105" + }, + "106-R\u00e9serves": { + "R\u00e9serve l\u00e9gale": { + "account_number": "1061" + }, + "R\u00e9serves indisponibles": { + "account_number": "1062" + }, + "R\u00e9serves statutaires ou contractuelles": { + "account_number": "1063" + }, + "R\u00e9serves r\u00e9glement\u00e9es": { + "account_number": "1064" + }, + "Autres r\u00e9serves": { + "account_number": "1068" + } + }, + "\u00c9cart d'\u00e9quivalence": { + "account_number": "107" + }, + "Compte de l'exploitant": { + "account_number": "108" + }, + "Actionnaires : capital souscrit - non appel\u00e9": { + "account_number": "109" + } + }, + "11-Report \u00e0 nouveau": { + "Report \u00e0 nouveau - solde cr\u00e9diteur": { + "account_number": "110" + }, + "Report \u00e0 nouveau - solde d\u00e9biteur": { + "account_number": "119" + } + }, + "12-R\u00e9sultat de l'exercice": { + "120-R\u00e9sultat de l'exercice - b\u00e9n\u00e9fice": { + "Acomptes sur dividendes": { + "account_number": "1209" + } + }, + "R\u00e9sultat de l'exercice - perte": { + "account_number": "129" + } + + }, + "13-Subventions d'investissement": { + "Subventions d'investissement octroy\u00e9es": { + "account_number": "131" + }, + "Subventions d'investissement inscrites au compte de r\u00e9sultat": { + "account_number": "139" + } + }, + "14-Provisions r\u00e9glement\u00e9es": { + "Provisions r\u00e9glement\u00e9es pour hausse de prix": { + "account_number": "143" + }, + "Amortissements d\u00e9rogatoires": { + "account_number": "145" + }, + "Autres provisions r\u00e9glement\u00e9es": { + "account_number": "148" + } + }, + "15-Provisions": { + "151-Provisions pour risques": { + "Provisions pour litiges": { + "account_number": "1511" + }, + "Provisions pour garanties donn\u00e9es aux clients": { + "account_number": "1512" + }, + "Provisions pour amendes et p\u00e9nalit\u00e9s": { + "account_number": "1514" + }, + "Provisions pour pertes de change": { + "account_number": "1515" + }, + "Provisions pour pertes sur contrats": { + "account_number": "1516" + }, + "Autres provisions pour risques": { + "account_number": "1518" + } + }, + "152-Provisions pour charges": { + "Provisions pour pensions et obligations similaires": { + "account_number": "1521" + }, + "Provisions pour restructurations": { + "account_number": "1522" + }, + "Provisions pour imp\u00f4ts": { + "account_number": "1523" + }, + "Provisions pour renouvellement des immobilisations - entreprises concessionnaires": { + "account_number": "1524" + }, + "Provisions pour gros entretien ou grandes r\u00e9visions": { + "account_number": "1525" + }, + "Provisions pour remise en \u00e9tat": { + "account_number": "1526" + }, + "Autres provisions pour charges": { + "account_number": "1527" + } + } + }, + "16-Emprunts et dettes assimil\u00e9es": { + "161-Emprunts obligataires convertibles": { + "Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": { + "account_number": "1618" + } + }, + "Obligations repr\u00e9sentatives de passifs nets remis en fiducie": { + "account_number": "162" + }, + "163-Autres emprunts obligataires": { + "Int\u00e9r\u00eats courus sur autres emprunts obligataires": { + "account_number": "1638" + } + }, + "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "account_number": "1648" + } + }, + "165-D\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "D\u00e9p\u00f4ts": { + "account_number": "1651" + }, + "Cautionnements": { + "account_number": "1655" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "account_number": "1658" + } + }, + "166-Participation des salari\u00e9s aux r\u00e9sultats": { + "Comptes bloqu\u00e9s": { + "account_number": "1661" + }, + "Fonds de participation": { + "account_number": "1662" + }, + "Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "1668" + } + }, + "167-Emprunts et dettes assortis de conditions particuli\u00e8res": { + "1671-\u00c9missions de titres participatifs": { + "Int\u00e9r\u00eats courus sur titres participatifs": { + "account_number": "16718" + } + }, + "1674-Avances conditionn\u00e9es de l'\u00c9tat": { + "Int\u00e9r\u00eats courus sur avances conditionn\u00e9es": { + "account_number": "16748" + } + }, + "1675-Emprunts participatifs": { + "Int\u00e9r\u00eats courus sur emprunts participatifs": { + "account_number": "16758" + } + } + }, + "168-Autres emprunts et dettes assimil\u00e9es": { + "Autres emprunts": { + "account_number": "1681" + }, + "Rentes viag\u00e8res capitalis\u00e9es": { + "account_number": "1685" + }, + "Autres dettes": { + "account_number": "1687" + }, + "Int\u00e9r\u00eats courus sur autres emprunts et dettes assimil\u00e9es": { + "account_number": "1688" + } + }, + "Primes de remboursement des emprunts": { + "account_number": "169" + } + }, + "17-Dettes rattach\u00e9es \u00e0 des participations": { + "Dettes rattach\u00e9es \u00e0 des participations - groupe": { + "account_number": "171" + }, + "Dettes rattach\u00e9es \u00e0 des participations - hors groupe": { + "account_number": "174" + }, + "Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "account_number": "178" + } + }, + "18-Comptes de liaison des \u00e9tablissements et soci\u00e9t\u00e9s en participation": { + "Comptes de liaison des \u00e9tablissements": { + "account_number": "181" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements - charges": { + "account_number": "186" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements - produits": { + "account_number": "187" + }, + "Comptes de liaison des soci\u00e9t\u00e9s en participation": { + "account_number": "188" + } + } + }, + "2-Comptes d'immobilisations": { + "root_type": "Asset", + "20-Immobilisations incorporelles et frais d'\u00e9tablissement": { + "201-Frais d'\u00e9tablissement": { + "Frais de constitution": { + "account_number": "2011" + }, + "2012-Frais de premier \u00e9tablissement": { + "Frais de prospection": { + "account_number": "20121" + }, + "Frais de publicit\u00e9": { + "account_number": "20122" + } + }, + "Frais d'augmentation de capital et d'op\u00e9rations diverses - fusions, scissions, transformations": { + "account_number": "2013" + } + }, + "Frais de d\u00e9veloppement": { + "account_number": "203" + }, + "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "account_number": "205" + }, + "Droit au bail": { + "account_number": "206" + }, + "Fonds commercial": { + "account_number": "207" + }, + "208-Autres immobilisations incorporelles": { + "Mali de fusion sur actifs incorporels": { + "account_number": "2081" + } + } + }, + "21-Immobilisations corporelles": { + "account_type": "Fixed Asset", + "211-Terrains": { + "account_type": "Fixed Asset", + "Terrains nus": { + "account_type": "Fixed Asset", + "account_number": "2111" + }, + "Terrains am\u00e9nag\u00e9s": { + "account_type": "Fixed Asset", + "account_number": "2112" + }, + "Sous-sols et sur-sols": { + "account_type": "Fixed Asset", + "account_number": "2113" + }, + "Terrains de carri\u00e8res (Tr\u00e9fonds)": { + "account_type": "Fixed Asset", + "account_number": "2114" + }, + "Terrains b\u00e2tis": { + "account_type": "Fixed Asset", + "account_number": "2115" + } + }, + "Agencements et am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 211)": { + "account_type": "Fixed Asset", + "account_number": "212" + }, + "213-Constructions": { + "account_type": "Fixed Asset", + "B\u00e2timents": { + "account_type": "Fixed Asset", + "account_number": "2131" + }, + "Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "account_number": "2135" + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2138" + } + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Fixed Asset", + "account_number": "214" + }, + "215-Installations techniques, mat\u00e9riels et outillages industriels": { + "account_type": "Fixed Asset", + "2151-Installations complexes sp\u00e9cialis\u00e9es": { + "account_type": "Fixed Asset", + "Installations complexes sp\u00e9cialis\u00e9es sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21511" + }, + "Installations complexes sp\u00e9cialis\u00e9es sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21514" + } + }, + "2153-Installations \u00e0 caract\u00e8re sp\u00e9cifique": { + "account_type": "Fixed Asset", + "Installations \u00e0 caract\u00e8re sp\u00e9cifique sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21531" + }, + "Installations \u00e0 caract\u00e8re sp\u00e9cifique sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21534" + } + }, + "Mat\u00e9riels industriels": { + "account_type": "Fixed Asset", + "account_number": "2154" + }, + "Outillages industriels": { + "account_type": "Fixed Asset", + "account_number": "2155" + }, + "Agencements et am\u00e9nagements des mat\u00e9riels et outillages industriels": { + "account_type": "Fixed Asset", + "account_number": "2157" + } + }, + "218-Autres immobilisations corporelles": { + "account_type": "Fixed Asset", + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { + "account_type": "Fixed Asset", + "account_number": "2181" + }, + "Mat\u00e9riel de transport": { + "account_type": "Fixed Asset", + "account_number": "2182" + }, + "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { + "account_type": "Fixed Asset", + "account_number": "2183" + }, + "Mobilier": { + "account_type": "Fixed Asset", + "account_number": "2184" + }, + "Cheptel": { + "account_type": "Fixed Asset", + "account_number": "2185" + }, + "Emballages r\u00e9cup\u00e9rables": { + "account_type": "Fixed Asset", + "account_number": "2186" + }, + "Mali de fusion sur actifs corporels": { + "account_type": "Fixed Asset", + "account_number": "2187" + } + } + }, + "22-Immobilisations mises en concession": { + "Droits du conc\u00e9dant": { + "account_number": "229" + } + }, + "23-Immobilisations en cours, avances et acomptes": { + "Immobilisations corporelles en cours": { + "account_number": "231" + }, + "Immobilisations incorporelles en cours": { + "account_number": "232" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": { + "account_number": "237" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { + "account_number": "238" + } + }, + "26-Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "261-Titres de participation": { + "Actions": { + "account_number": "2611" + }, + "Autres titres": { + "account_number": "2618" + } + }, + "Titres \u00e9valu\u00e9s par \u00e9quivalence": { + "account_number": "262" + }, + "266-Autres formes de participation": { + "Droits repr\u00e9sentatifs d'actifs nets remis en fiducie": { + "account_number": "2661" + } + }, + "267-Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations - groupe": { + "account_number": "2671" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations - hors groupe": { + "account_number": "2674" + }, + "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s - appel de fonds": { + "account_number": "2675" + }, + "Avances consolidables": { + "account_number": "2676" + }, + "Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "2677" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2678" + } + }, + "268-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "2681" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2688" + } + }, + "Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { + "account_number": "269" + } + }, + "27-Autres immobilisations financi\u00e8res": { + "271-Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { + "Actions": { + "account_number": "2711" + }, + "Autres titres": { + "account_number": "2718" + } + }, + "272-Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "Obligations": { + "account_number": "2721" + }, + "Bons": { + "account_number": "2722" + } + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "273" + }, + "274-Pr\u00eats": { + "Pr\u00eats participatifs": { + "account_number": "2741" + }, + "Pr\u00eats aux associ\u00e9s": { + "account_number": "2742" + }, + "Pr\u00eats au personnel": { + "account_number": "2743" + }, + "Autres pr\u00eats": { + "account_number": "2748" + } + }, + "275-D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "D\u00e9p\u00f4ts": { + "account_number": "2751" + }, + "Cautionnements": { + "account_number": "2755" + } + }, + "276-Autres cr\u00e9ances immobilis\u00e9es": { + "Cr\u00e9ances diverses": { + "account_number": "2761" + }, + "2768-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "27682" + }, + "Int\u00e9r\u00eats courus sur pr\u00eats": { + "account_number": "27684" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": { + "account_number": "27685" + }, + "Int\u00e9r\u00eats courus sur cr\u00e9ances diverses": { + "account_number": "27688" + } + } + }, + "277-(Actions propres ou parts propres)": { + "Actions propres ou parts propres": { + "account_number": "2771" + }, + "Actions propres ou parts propres en voie d'annulation": { + "account_number": "2772" + } + }, + "Mali de fusion sur actifs financiers": { + "account_number": "278" + }, + "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { + "account_number": "279" + } + }, + "28-Amortissements des immobilisations": { + "account_type": "Accumulated Depreciation", + "280-Amortissements des immobilisations incorporelles et des frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 20)": { + "account_type": "Accumulated Depreciation", + "Frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 201)": { + "account_type": "Accumulated Depreciation", + "account_number": "2801" + }, + "Frais de d\u00e9veloppement": { + "account_type": "Accumulated Depreciation", + "account_number": "2803" + }, + "Concessions et droits similaires, brevets, licences, solutions informatiques, droits et valeurs similaires": { + "account_type": "Accumulated Depreciation", + "account_number": "2805" + }, + "Droit au bail": { + "account_type": "Accumulated Depreciation", + "account_number": "2806" + }, + "Fonds commercial": { + "account_type": "Accumulated Depreciation", + "account_number": "2807" + }, + "Autres immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "account_number": "2808" + } + }, + "281-Amortissements des immobilisations corporelles (m\u00eame ventilation que celle du compte 21)": { + "account_type": "Accumulated Depreciation", + "Agencements, am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 212)": { + "account_type": "Accumulated Depreciation", + "account_number": "2812" + }, + "Constructions (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Accumulated Depreciation", + "account_number": "2813" + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 214)": { + "account_type": "Accumulated Depreciation", + "account_number": "2814" + }, + "Installations, mat\u00e9riel et outillage industriels (m\u00eame ventilation que celle du compte 215)": { + "account_type": "Accumulated Depreciation", + "account_number": "2815" + }, + "2818-Autres immobilisations corporelles (m\u00eame ventilation que celle du compte 218)": { + "account_type": "Accumulated Depreciation", + "Amortissement du mali de fusion sur actifs corporels": { + "account_type": "Accumulated Depreciation", + "account_number": "28187" + } + } + }, + "Amortissements des immobilisations mises en concession": { + "account_type": "Accumulated Depreciation", + "account_number": "282" + } + }, + "29-D\u00e9pr\u00e9ciations des immobilisations": { + "290-D\u00e9pr\u00e9ciations des immobilisations incorporelles": { + "Frais d'\u00e9tablissement": { + "account_number": "2901" + }, + "Frais de d\u00e9veloppement": { + "account_number": "2903" + }, + "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { + "account_number": "2905" + }, + "Droit au bail": { + "account_number": "2906" + }, + "Fonds commercial": { + "account_number": "2907" + }, + "2908-Autres immobilisations incorporelles": { + "D\u00e9pr\u00e9ciation du mali de fusion sur actifs incorporels": { + "account_number": "29081" + } + } + }, + "291-D\u00e9pr\u00e9ciations des immobilisations corporelles": { + "Terrains": { + "account_number": "2911" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "2912" + }, + "Constructions": { + "account_number": "2913" + }, + "Constructions sur sol d'autrui": { + "account_number": "2914" + }, + "Installations techniques, mat\u00e9riels et outillages industriels": { + "account_number": "2915" + }, + "2918-Autres immobilisations corporelles": { + "D\u00e9pr\u00e9ciation du mali de fusion sur actifs corporels": { + "account_number": "29187" + } + } + }, + "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { + "account_number": "292" + }, + "293-D\u00e9pr\u00e9ciations des immobilisations en cours": { + "Immobilisations corporelles en cours": { + "account_number": "2931" + }, + "Immobilisations incorporelles en cours": { + "account_number": "2932" + } + }, + "296-D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "account_number": "2961" + }, + "Titres \u00e9valu\u00e9s par \u00e9quivalence": { + "account_number": "2962" + }, + "Autres formes de participation": { + "account_number": "2966" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": { + "account_number": "2967" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation (m\u00eame ventilation que celle du compte 268)": { + "account_number": "2968" + } + }, + "297-D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { + "account_number": "2971" + }, + "Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "2972" + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "2973" + }, + "Pr\u00eats": { + "account_number": "2974" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "2975" + }, + "Autres cr\u00e9ances immobilis\u00e9es": { + "account_number": "2976" + } + } + } + }, + "3-Comptes de stocks et en-cours": { + "root_type": "Asset", + "Mati\u00e8res premi\u00e8res et fournitures": { + "account_number": "31" + }, + "32-Autres approvisionnements": { + "Mati\u00e8res consommables": { + "account_number": "321" + }, + "322-Fournitures consommables": { + "Combustibles": { + "account_number": "3221" + }, + "Produits d'entretien": { + "account_number": "3222" + }, + "Fournitures d'atelier et d'usine": { + "account_number": "3223" + }, + "Fournitures de magasin": { + "account_number": "3224" + }, + "Fournitures de bureau": { + "account_number": "3225" + } + }, + "326-Emballages": { + "Emballages perdus": { + "account_number": "3261" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_number": "3265" + }, + "Emballages \u00e0 usage mixte": { + "account_number": "3267" + } + } + }, + "33-En-cours de production de biens": { + "Produits en cours": { + "account_number": "331" + }, + "Travaux en cours": { + "account_number": "335" + } + }, + "34-En-cours de production de services": { + "\u00c9tudes en cours": { + "account_number": "341" + }, + "Prestations de services en cours": { + "account_number": "345" + } + }, + "35-Stocks de produits": { + "Produits interm\u00e9diaires": { + "account_number": "351" + }, + "Produits finis": { + "account_number": "355" + }, + "358-Produits r\u00e9siduels ou mati\u00e8res de r\u00e9cup\u00e9ration": { + "D\u00e9chets": { + "account_number": "3581" + }, + "Rebuts": { + "account_number": "3585" + }, + "Mati\u00e8res de r\u00e9cup\u00e9ration": { + "account_number": "3586" + } + } + }, + "Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \u00ab Stocks provenant d'immobilisations \u00bb": { + "account_number": "36" + }, + "Stocks de marchandises": { + "account_type": "Stock", + "account_number": "37" + }, + "Le compte 38 peut \u00eatre utilis\u00e9 pour comptabiliser les stocks en voie d'acheminement, mis en d\u00e9p\u00f4t ou donn\u00e9s en consignation": { + "account_number": "38" + }, + "39-D\u00e9pr\u00e9ciations des stocks et en-cours": { + "D\u00e9pr\u00e9ciations des mati\u00e8res premi\u00e8res et fournitures": { + "account_number": "391" + }, + "D\u00e9pr\u00e9ciations des autres approvisionnements": { + "account_number": "392" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens": { + "account_number": "393" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de services": { + "account_number": "394" + }, + "D\u00e9pr\u00e9ciations des stocks de produits": { + "account_number": "395" + }, + "D\u00e9pr\u00e9ciations des stocks de marchandises": { + "account_number": "397" + } + } + }, + "4-Comptes de tiers (ACTIF)": { + "root_type": "Asset", + "Fournisseurs et comptes rattach\u00e9s (ACTIF)": { + "409-Fournisseurs d\u00e9biteurs": { + "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { + "account_number": "4091" + }, + "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { + "account_number": "4096" + }, + "4097-Fournisseurs - Autres avoirs": { + "Fournisseurs d'exploitation": { + "account_number": "40971" + }, + "Fournisseurs d'immobilisations": { + "account_number": "40974" + } + }, + "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { + "account_number": "4098" + } + } + }, + "41-Clients et comptes rattach\u00e9s (ACTIF)": { + "account_type": "Receivable", + "411-Clients": { + "account_type": "Receivable", + "Clients - Ventes de biens ou de prestations de services": { + "account_type": "Receivable", + "account_number": "4111" + }, + "Clients - Retenues de garantie": { + "account_type": "Receivable", + "account_number": "4117" + } + }, + "Clients - Effets \u00e0 recevoir": { + "account_type": "Receivable", + "account_number": "413" + }, + "Clients douteux ou litigieux": { + "account_type": "Receivable", + "account_number": "416" + }, + "418-Clients - Produits non encore factur\u00e9s": { + "account_type": "Receivable", + "Clients - Factures \u00e0 \u00e9tablir": { + "account_type": "Receivable", + "account_number": "4181" + }, + "Clients - Int\u00e9r\u00eats courus": { + "account_type": "Receivable", + "account_number": "4188" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (ACTIF)": { + "Personnel - Avances et acomptes et autres comptes d\u00e9biteurs": { + "account_number": "425" + } + }, + "44-\u00c9tat et autres collectivit\u00e9s publiques (ACTIF)": { + "\u00c9tat - Subventions et aides \u00e0 recevoir": { + "account_number": "441" + }, + "445-\u00c9tat - Taxes sur le chiffre d'affaires": { + "TVA due intracommunautaire": { + "account_number": "4452", + "account_type": "Tax", + "tax_rate": -20 + }, + "TVA à décaisser": { + "account_number": "44551" + }, + "4456-Taxes sur le chiffre d'affaires d\u00e9ductibles": { + "TVA sur immobilisations": { + "account_number": "44562", + "account_type": "Tax" + }, + "TVA transf\u00e9r\u00e9e par d'autres entit\u00e9s": { + "account_number": "44563", + "account_type": "Tax" + }, + "TVA sur autres biens et services": { + "account_number": "44566", + "account_type": "Tax", + "tax_rate": 20 + }, + "Cr\u00e9dit de TVA \u00e0 reporter": { + "account_number": "44567", + "account_type": "Tax" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44568", + "account_type": "Tax" + }, + "TVA 20% Déductible": { + "account_number": "445620", + "account_type": "Tax", + "tax_rate": 20 + }, + "TVA 10% Déductible": { + "account_number": "445610", + "account_type": "Tax", + "tax_rate": 10 + }, + "TVA 5.5% Déductible": { + "account_number": "445655", + "account_type": "Tax", + "tax_rate": 5.5 + }, + "TVA 2.1% Déductible": { + "account_number": "445621", + "account_type": "Tax", + "tax_rate": 2.1 + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { + "account_number": "44581" + }, + "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { + "account_number": "44583" + }, + "Taxes sur le chiffre d'affaires sur factures non parvenues": { + "account_number": "44586" + } + } + }, + "448-\u00c9tat - Charges \u00e0 payer et produits \u00e0 recevoir": { + "\u00c9tat - Produits \u00e0 recevoir": { + "account_number": "4482" + } + } + }, + "45-Groupe et associ\u00e9s (ACTIF)": { + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4562-Apporteurs - Capital appel\u00e9, non vers\u00e9": { + "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { + "account_number": "45621" + }, + "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { + "account_number": "45625" + } + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "462" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "465" + }, + "Divers comptes d\u00e9biteurs et produits \u00e0 recevoir": { + "account_number": "467" + } + }, + "47-Comptes transitoires ou d'attente (ACTIF)": { + "476-Diff\u00e9rence de conversion - Actif": { + "Diminution des cr\u00e9ances": { + "account_number": "4761" + }, + "Augmentation des dettes": { + "account_number": "4762" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4768" + } + }, + "478-Autres comptes transitoires": { + "Mali de fusion sur actif circulant": { + "account_number": "4781" + } + } + }, + "48-Comptes de r\u00e9gularisation (ACTIF)": { + "Frais d'\u00e9mission des emprunts": { + "account_number": "481" + }, + "Charges constat\u00e9es d'avance": { + "account_number": "486" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Charges": { + "account_number": "4886" + } + } + }, + "49-D\u00e9pr\u00e9ciations des comptes de tiers (ACTIF)": { + "495-D\u00e9pr\u00e9ciations des comptes du groupe et des associ\u00e9s": { + "Comptes du groupe": { + "account_number": "4951" + }, + "Comptes courants des associ\u00e9s": { + "account_number": "4955" + }, + "Op\u00e9rations faites en commun et en GIE": { + "account_number": "4958" + } + }, + "496-D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "4962" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "4965" + }, + "Autres comptes d\u00e9biteurs": { + "account_number": "4967" + } + } + } + }, + "4-Comptes de tiers (PASSIF)": { + "root_type": "Liability", + "40-Fournisseurs et comptes rattach\u00e9s (PASSIF)": { + "account_type": "Payable", + "401-Fournisseurs": { + "Fournisseurs - Achats de biens et prestations de services": { + "account_type": "Payable", + "account_number": "4011" + }, + "Fournisseurs - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4017" + } + }, + "Fournisseurs - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "403" + }, + "404-Fournisseurs d'immobilisations": { + "account_type": "Payable", + "Fournisseurs - Achats d'immobilisations": { + "account_type": "Payable", + "account_number": "4041" + }, + "Fournisseurs d'immobilisations - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4047" + } + }, + "Fournisseurs d'immobilisations - Effets \u00e0 payer": { + "account_number": "405" + }, + "408-Fournisseurs - Factures non parvenues": { + "account_type": "Stock Received But Not Billed", + "Fournisseurs": { + "account_type": "Stock Received But Not Billed", + "account_number": "4081" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Asset Received But Not Billed", + "account_number": "4084" + }, + "Fournisseurs - Int\u00e9r\u00eats courus": { + "account_type": "Stock Received But Not Billed", + "account_number": "4088" + } + } + }, + "41-Clients et comptes rattach\u00e9s (PASSIF)": { + "419-Clients cr\u00e9diteurs": { + "Clients - Avances et acomptes re\u00e7us sur commandes": { + "account_number": "4191", + "account_type": "Income Account" + }, + "Clients - Dettes sur emballages et mat\u00e9riels consign\u00e9s": { + "account_number": "4196" + }, + "Clients - Autres avoirs": { + "account_number": "4197" + }, + "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { + "account_number": "4198" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (PASSIF)": { + "Personnel - R\u00e9mun\u00e9rations dues": { + "account_number": "421" + }, + "Comit\u00e9 social et \u00e9conomique": { + "account_number": "422" + }, + "424-Participation des salari\u00e9s aux r\u00e9sultats": { + "R\u00e9serve sp\u00e9ciale": { + "account_number": "4246" + }, + "Comptes courants": { + "account_number": "4248" + } + }, + "Personnel - D\u00e9p\u00f4ts": { + "account_number": "426" + }, + "Personnel - Oppositions": { + "account_number": "427" + }, + "428-Personnel - Charges \u00e0 payer": { + "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { + "account_number": "4282" + }, + "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "4284" + }, + "Autres charges \u00e0 payer": { + "account_number": "4286" + } + } + }, + "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (PASSIF)": { + "S\u00e9curit\u00e9 sociale": { + "account_number": "431" + }, + "Autres organismes sociaux": { + "account_number": "437" + }, + "438-Organismes sociaux - Charges \u00e0 payer": { + "Charges sociales sur cong\u00e9s \u00e0 payer": { + "account_number": "4382" + }, + "Autres charges \u00e0 payer": { + "account_number": "4386" + } + } + }, + "44-\u00c9tat et autres collectivit\u00e9s publiques (PASSIF)": { + "Contributions, imp\u00f4ts et taxes recouvr\u00e9s pour le compte de l'\u00c9tat": { + "account_number": "442" + }, + "\u00c9tat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "444" + }, + "445-\u00c9tat - Taxes sur le chiffre d'affaires": { + "4455-Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44558" + } + }, + "4457-Taxes sur le chiffre d'affaires collect\u00e9es": { + "44571-TVA collect\u00e9e": { + "account_type": "Tax", + "TVA 20% Collectée": { + "account_type": "Tax", + "account_number": "445720", + "tax_rate": 20 + }, + "TVA 10% Collectée": { + "account_type": "Tax", + "account_number": "445710", + "tax_rate": 10 + }, + "TVA 5.5% Collectée": { + "account_type": "Tax", + "account_number": "445755", + "tax_rate": 5.5 + }, + "TVA 2.1% Collectée": { + "account_type": "Tax", + "account_number": "445721", + "tax_rate": 2.1 + } + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44578" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { + "account_number": "44584" + }, + "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { + "account_number": "44587" + } + } + }, + "Obligations cautionn\u00e9es": { + "account_number": "446" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { + "account_number": "447" + }, + "Quotas d'\u00e9mission \u00e0 acqu\u00e9rir": { + "account_number": "449" + } + }, + "45-Groupe et associ\u00e9s (PASSIF)": { + "Groupe": { + "account_number": "451" + }, + "455-Associ\u00e9s - Comptes courants": { + "Principal": { + "account_number": "4551" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4558" + } + }, + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4561-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { + "Apports en nature": { + "account_number": "45611" + }, + "Apports en num\u00e9raire": { + "account_number": "45615" + } + }, + "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { + "account_number": "4563" + }, + "Associ\u00e9s - Versements anticip\u00e9s": { + "account_number": "4564" + }, + "Actionnaires d\u00e9faillants": { + "account_number": "4566" + }, + "Associ\u00e9s - Capital \u00e0 rembourser": { + "account_number": "4567" + } + }, + "Associ\u00e9s - Dividendes \u00e0 payer": { + "account_number": "457" + }, + "458-Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { + "Op\u00e9rations courantes": { + "account_number": "4581" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4588" + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { + "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { + "account_number": "464" + }, + "Divers comptes cr\u00e9diteurs et charges \u00e0 payer": { + "account_number": "468" + } + }, + "47-Comptes transitoires ou d'attente (PASSIF)": { + "Comptes d'attente": { + "account_type": "Temporary", + "account_number": "471" + }, + "477-Diff\u00e9rences de conversion - Passif": { + "Augmentation des cr\u00e9ances": { + "account_number": "4771" + }, + "Diminution des dettes": { + "account_number": "4772" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4778" + } + }, + "Autres comptes transitoires": { + "account_number": "478" + } + }, + "48-Comptes de r\u00e9gularisation (PASSIF)": { + "Produits constat\u00e9s d'avance": { + "account_number": "487" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Produits": { + "account_number": "4887" + } + } + }, + "D\u00e9pr\u00e9ciations des comptes de tiers (PASSIF)": { + "account_number": "49" + } + }, + "5-Comptes financiers": { + "root_type": "Asset", + "50-Valeurs mobili\u00e8res de placement": { + "502-Actions propres": { + "Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": { + "account_number": "5021" + }, + "Actions disponibles pour \u00eatre attribu\u00e9es aux employ\u00e9s ou pour la r\u00e9gularisation des cours de bourse": { + "account_number": "5022" + } + }, + "503-Actions": { + "Titres cot\u00e9s": { + "account_number": "5031" + }, + "Titres non cot\u00e9s": { + "account_number": "5035" + } + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "504" + }, + "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { + "account_number": "505" + }, + "506-Obligations": { + "Titres cot\u00e9s": { + "account_number": "5061" + }, + "Titres non cot\u00e9s": { + "account_number": "5065" + } + }, + "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { + "account_number": "507" + }, + "508-Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { + "Autres valeurs mobili\u00e8res": { + "account_number": "5081" + }, + "Bons de souscription": { + "account_number": "5082" + }, + "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9s": { + "account_number": "5088" + } + }, + "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { + "account_number": "509" + } + }, + "51-Banques, \u00e9tablissements financiers et assimil\u00e9s": { + "511-Valeurs \u00e0 l'encaissement": { + "Coupons \u00e9chus \u00e0 l'encaissement": { + "account_number": "5111" + }, + "Ch\u00e8ques \u00e0 encaisser": { + "account_number": "5112" + }, + "Effets \u00e0 l'encaissement": { + "account_number": "5113" + }, + "Effets \u00e0 l'escompte": { + "account_number": "5114" + } + }, + "512-Banques": { + "account_type": "Bank", + "Comptes en euros": { + "account_type": "Bank", + "account_number": "5121" + }, + "Comptes en devises": { + "account_type": "Bank", + "account_number": "5124" + } + }, + "Autres organismes financiers": { + "account_number": "517" + }, + "518-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus \u00e0 payer": { + "account_number": "5181" + }, + "Int\u00e9r\u00eats courus \u00e0 recevoir": { + "account_number": "5188" + } + }, + "519-Concours bancaires courants": { + "Cr\u00e9dit de mobilisation de cr\u00e9ances commerciales": { + "account_number": "5191" + }, + "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { + "account_number": "5193" + }, + "Int\u00e9r\u00eats courus sur concours bancaires courants": { + "account_number": "5198" + } + } + }, + "52-Instruments financiers \u00e0 terme et jetons d\u00e9tenus": { + "Instruments financiers \u00e0 terme": { + "account_number": "521" + }, + "Jetons d\u00e9tenus": { + "account_number": "522" + }, + "Jetons auto-d\u00e9tenus": { + "account_number": "523" + }, + "Jetons emprunt\u00e9s": { + "account_number": "524" + } + }, + "53-Caisse": { + "account_type": "Cash", + "Caisse": { + "account_type": "Cash", + "account_number": "530" + } + }, + "Virements internes": { + "account_number": "58" + }, + "59-D\u00e9pr\u00e9ciations des comptes financiers": { + "590-D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { + "Actions": { + "account_number": "5903" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "5904" + }, + "Obligations": { + "account_number": "5906" + }, + "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { + "account_number": "5908" + } + } + } + }, + "6-Comptes de charges": { + "root_type": "Expense", + "60-Achats (sauf 603)": { + "Achats stock\u00e9s - Mati\u00e8res premi\u00e8res et fournitures": { + "account_type": "Cost of Goods Sold", + "account_number": "601" + }, + "602-Achats stock\u00e9s - Autres approvisionnements": { + "Mati\u00e8res consommables": { + "account_type": "Cost of Goods Sold", + "account_number": "6021" + }, + "6022-Fournitures consommables": { + "account_type": "Cost of Goods Sold", + "Combustibles": { + "account_type": "Cost of Goods Sold", + "account_number": "60221" + }, + "Produits d'entretien": { + "account_type": "Cost of Goods Sold", + "account_number": "60222" + }, + "Fournitures d'atelier et d'usine": { + "account_type": "Cost of Goods Sold", + "account_number": "60223" + }, + "Fournitures de magasin": { + "account_type": "Cost of Goods Sold", + "account_number": "60224" + }, + "Fourniture de bureau": { + "account_type": "Cost of Goods Sold", + "account_number": "60225" + } + }, + "6026-Emballages": { + "account_type": "Cost of Goods Sold", + "Emballages perdus": { + "account_type": "Cost of Goods Sold", + "account_number": "60261" + }, + "Malis sur emballage": { + "account_type": "Cost of Goods Sold", + "account_number": "60262" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_type": "Cost of Goods Sold", + "account_number": "60265" + }, + "Emballages \u00e0 usage mixte": { + "account_type": "Cost of Goods Sold", + "account_number": "60267" + } + } + }, + "Achats d'\u00e9tudes et prestations de services": { + "account_number": "604" + }, + "Achats de mat\u00e9riel, \u00e9quipements et travaux": { + "account_number": "605" + }, + "606-Achats non stock\u00e9s de mati\u00e8re et fournitures": { + "account_type": "Cost of Goods Sold", + "Fournitures non stockables (eau, \u00e9nergie, etc.)": { + "account_type": "Cost of Goods Sold", + "account_number": "6061" + }, + "Fournitures d'entretien et de petit \u00e9quipement": { + "account_type": "Cost of Goods Sold", + "account_number": "6063" + }, + "Fournitures administratives": { + "account_type": "Cost of Goods Sold", + "account_number": "6064" + }, + "Autres mati\u00e8res et fournitures": { + "account_type": "Cost of Goods Sold", + "account_number": "6068" + } + }, + "Achats de marchandises": { + "account_type": "Cost of Goods Sold", + "account_number": "607" + }, + "Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, au regroupement des frais accessoires incorpor\u00e9s aux achats": { + "account_number": "608", + "account_type": "Expenses Included In Valuation" + }, + "609-Rabais, remises et ristournes obtenus sur achats (m\u00eame ventilation que celle du compte 60)": { + "Rabais, remises et ristournes non affect\u00e9s": { + "account_number": "6098" + } + } + }, + "603-Variation des stocks d'approvisionnements et de marchandises": { + "account_type": "Stock Adjustment", + "Variation des stocks de mati\u00e8res premi\u00e8res et fournitures": { + "account_type": "Stock Adjustment", + "account_number": "6031" + }, + "Variation des stocks des autres approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6032" + }, + "Variation des stocks de marchandises": { + "account_type": "Stock Adjustment", + "account_number": "6037" + } + }, + "61-Services ext\u00e9rieurs": { + "Sous-traitance g\u00e9n\u00e9rale": { + "account_number": "611" + }, + "612-Redevances de cr\u00e9dit-bail": { + "Cr\u00e9dit-bail mobilier": { + "account_number": "6122" + }, + "Cr\u00e9dit-bail immobilier": { + "account_number": "6125" + } + }, + "613-Locations": { + "Locations immobili\u00e8res": { + "account_number": "6132" + }, + "Locations mobili\u00e8res": { + "account_number": "6135" + } + }, + "Charges locatives et de copropri\u00e9t\u00e9": { + "account_number": "614" + }, + "615-Entretien et r\u00e9paration": { + "Entretien et r\u00e9paration sur biens immobiliers": { + "account_number": "6152" + }, + "Entretien et r\u00e9paration sur biens mobiliers": { + "account_number": "6155" + }, + "Maintenance": { + "account_number": "6156" + } + }, + "616-Primes d'assurances": { + "Multirisques": { + "account_number": "6161" + }, + "Assurance obligatoire dommage construction": { + "account_number": "6162" + }, + "6163-Assurance - transport": { + "sur achats": { + "account_number": "61636" + }, + "sur ventes": { + "account_number": "61637" + }, + "sur autres biens": { + "account_number": "61638" + } + }, + "Risques d'exploitation": { + "account_number": "6164" + }, + "Insolvabilit\u00e9 clients": { + "account_number": "6165" + } + }, + "\u00c9tudes et recherches": { + "account_number": "617" + }, + "618-Divers": { + "Documentation g\u00e9n\u00e9rale": { + "account_number": "6181" + }, + "Documentation technique": { + "account_number": "6183" + }, + "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { + "account_number": "6185" + } + }, + "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { + "account_number": "619" + } + }, + "62-Autres services ext\u00e9rieurs": { + "621-Personnel ext\u00e9rieur \u00e0 l'entit\u00e9": { + "Personnel int\u00e9rimaire": { + "account_number": "6211" + }, + "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entit\u00e9": { + "account_number": "6214" + } + }, + "622-R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { + "Commissions et courtages sur achats": { + "account_number": "6221" + }, + "Commissions et courtages sur ventes": { + "account_number": "6222" + }, + "R\u00e9mun\u00e9rations des transitaires": { + "account_number": "6224" + }, + "R\u00e9mun\u00e9rations d'affacturage": { + "account_number": "6225" + }, + "Honoraires": { + "account_number": "6226" + }, + "Frais d'actes et de contentieux": { + "account_number": "6227" + }, + "Divers": { + "account_number": "6228" + } + }, + "623-Publicit\u00e9, publications, relations publiques": { + "Annonces et insertions": { + "account_number": "6231" + }, + "\u00c9chantillons": { + "account_number": "6232" + }, + "Foires et expositions": { + "account_number": "6233" + }, + "Cadeaux \u00e0 la client\u00e8le": { + "account_number": "6234" + }, + "Primes": { + "account_number": "6235" + }, + "Catalogues et imprim\u00e9s": { + "account_number": "6236" + }, + "Publications": { + "account_number": "6237" + }, + "Divers (pourboires, dons courants)": { + "account_number": "6238" + } + }, + "624-Transports de biens et transports collectifs du personnel": { + "Transports sur achats": { + "account_number": "6241", + "account_type": "Chargeable" + }, + "Transports sur ventes": { + "account_type": "Chargeable", + "account_number": "6242" + }, + "Transports entre \u00e9tablissements ou chantiers": { + "account_number": "6243" + }, + "Transports administratifs": { + "account_number": "6244" + }, + "Transports collectifs du personnel": { + "account_number": "6247" + }, + "Divers": { + "account_number": "6248" + } + }, + "625-D\u00e9placements, missions et r\u00e9ceptions": { + "Voyages et d\u00e9placements": { + "account_number": "6251" + }, + "Frais de d\u00e9m\u00e9nagement": { + "account_number": "6255" + }, + "Missions": { + "account_number": "6256" + }, + "R\u00e9ceptions": { + "account_number": "6257" + } + }, + "Frais postaux et de t\u00e9l\u00e9communications": { + "account_number": "626" + }, + "627-Services bancaires et assimil\u00e9s": { + "Frais sur titres (achat, vente, garde)": { + "account_number": "6271" + }, + "Commissions et frais sur \u00e9mission d'emprunts": { + "account_number": "6272" + }, + "Frais sur effets": { + "account_number": "6275" + }, + "Location de coffres": { + "account_number": "6276" + }, + "Autres frais et commissions sur prestations de services": { + "account_number": "6278" + } + }, + "628-Divers": { + "Concours divers (cotisations)": { + "account_number": "6281" + }, + "Frais de recrutement de personnel": { + "account_number": "6284" + } + }, + "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { + "account_number": "629" + } + }, + "63-Imp\u00f4ts, taxes et versements assimil\u00e9s": { + "631-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { + "Taxe sur les salaires": { + "account_number": "6311" + }, + "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { + "account_number": "6314" + }, + "Autres": { + "account_number": "6318" + } + }, + "633-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { + "Versement de transport": { + "account_number": "6331" + }, + "Allocations logement": { + "account_number": "6332" + }, + "Contribution unique des employeurs \u00e0 la formation professionnelle": { + "account_number": "6333" + }, + "Participation des employeurs \u00e0 l'effort de construction": { + "account_number": "6334" + }, + "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'exon\u00e9ration de la taxe d'apprentissage": { + "account_number": "6335" + }, + "Autres": { + "account_number": "6338" + } + }, + "635-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { + "6351-Imp\u00f4ts directs (sauf imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "Contribution \u00e9conomique territoriale": { + "account_number": "63511" + }, + "Taxes fonci\u00e8res": { + "account_number": "63512" + }, + "Autres imp\u00f4ts locaux": { + "account_number": "63513" + }, + "Taxe sur les v\u00e9hicules des soci\u00e9t\u00e9s": { + "account_number": "63514" + } + }, + "Taxe sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { + "account_number": "6352" + }, + "Imp\u00f4ts indirects": { + "account_number": "6353" + }, + "6354-Droits d'enregistrement et de timbre": { + "Droits de mutation": { + "account_number": "63541" + } + }, + "Autres droits": { + "account_number": "6358" + } + }, + "637-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { + "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { + "account_number": "6371" + }, + "Taxes per\u00e7ues par les organismes publics internationaux": { + "account_number": "6372" + }, + "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { + "account_number": "6374" + }, + "Taxes diverses": { + "account_number": "6378" + } + }, + "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "638" + } + }, + "64-Charges de personnel": { + "641-R\u00e9mun\u00e9rations du personnel": { + "Salaires, appointements": { + "account_number": "6411" + }, + "Cong\u00e9s pay\u00e9s": { + "account_number": "6412" + }, + "Primes et gratifications": { + "account_number": "6413" + }, + "Indemnit\u00e9s et avantages divers": { + "account_number": "6414" + }, + "Suppl\u00e9ment familial": { + "account_number": "6415" + } + }, + "R\u00e9mun\u00e9ration du travail de l'exploitant": { + "account_number": "644" + }, + "645-Cotisations de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { + "Cotisations \u00e0 l'Urssaf": { + "account_number": "6451" + }, + "Cotisations aux mutuelles": { + "account_number": "6452" + }, + "Cotisations aux caisses de retraites": { + "account_number": "6453" + }, + "Cotisations \u00e0 P\u00f4le emploi": { + "account_number": "6454" + }, + "Cotisations aux autres organismes sociaux": { + "account_number": "6458" + } + }, + "Cotisations sociales personnelles de l'exploitant": { + "account_number": "646" + }, + "647-Autres cotisations sociales": { + "Prestations directes": { + "account_number": "6471" + }, + "Versements au comit\u00e9 social et \u00e9conomique": { + "account_number": "6472" + }, + "Versements aux autres \u0153uvres sociales": { + "account_number": "6474" + }, + "M\u00e9decine du travail, pharmacie": { + "account_number": "6475" + } + }, + "Autres charges de personnel": { + "account_number": "648" + }, + "Remboursements de charges de personnel": { + "account_number": "649" + } + }, + "65-Autres charges de gestion courante": { + "651-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques": { + "account_number": "6511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "6516" + }, + "Autres droits et valeurs similaires": { + "account_number": "6518" + } + }, + "R\u00e9mun\u00e9rations de l'activit\u00e9 des administrateurs et des g\u00e9rants": { + "account_number": "653" + }, + "654-Pertes sur cr\u00e9ances irr\u00e9couvrables": { + "Cr\u00e9ances de l'exercice": { + "account_number": "6541" + }, + "Cr\u00e9ances des exercices ant\u00e9rieurs": { + "account_number": "6544" + } + }, + "655-Quote-part de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e - comptabilit\u00e9 du g\u00e9rant": { + "account_number": "6551" + }, + "Quote-part de perte support\u00e9e - comptabilit\u00e9 des associ\u00e9s non g\u00e9rants": { + "account_number": "6555" + } + }, + "Pertes de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "656" + }, + "Valeurs comptables des immobilisations incorporelles et corporelles c\u00e9d\u00e9es": { + "account_number": "657" + }, + "658-P\u00e9nalit\u00e9s et autres charges": { + "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { + "account_number": "6581" + }, + "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { + "account_number": "6582" + }, + "Malis provenant de clauses d'indexation": { + "account_number": "6583" + }, + "Lots": { + "account_number": "6584" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "account_number": "6588" + } + } + }, + "66-Charges financi\u00e8res": { + "661-Charges d'int\u00e9r\u00eats": { + "6611-Int\u00e9r\u00eats des emprunts et dettes": { + "Int\u00e9r\u00eats des emprunts et dettes assimil\u00e9es": { + "account_number": "66116" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 des participations": { + "account_number": "66117" + } + }, + "Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "6612" + }, + "Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": { + "account_number": "6615" + }, + "Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte\u2026)": { + "account_number": "6616" + }, + "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { + "account_number": "6617" + }, + "6618-Int\u00e9r\u00eats des autres dettes": { + "Int\u00e9r\u00eats des dettes commerciales": { + "account_number": "66181" + }, + "Int\u00e9r\u00eats des dettes diverses": { + "account_number": "66188" + } + } + }, + "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { + "account_number": "664" + }, + "Escomptes accord\u00e9s": { + "account_number": "665" + }, + "Pertes de change financi\u00e8res": { + "account_type": "Round Off", + "account_number": "666" + }, + "667-Charges sur cession d'\u00e9l\u00e9ments financiers": { + "Valeurs comptables des immobilisations financi\u00e8res c\u00e9d\u00e9es": { + "account_number": "6671" + }, + "Charges nettes sur cessions de titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "6672" + }, + "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "6673" + }, + "Charges nettes sur cessions de jetons": { + "account_number": "6674" + } + }, + "668-Autres charges financi\u00e8res": { + "Mali provenant du rachat par l'entit\u00e9 d'actions et obligations \u00e9mises par elle-m\u00eame": { + "account_number": "6683" + } + } + }, + "67-Charges exceptionnelles": { + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": { + "account_number": "672" + }, + "Autres charges exceptionnelles": { + "account_number": "678" + } + }, + "68-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions": { + "account_type": "Depreciation", + "681-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges d'exploitation)": { + "account_type": "Depreciation", + "6811-Dotations aux amortissements sur immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles et frais d'\u00e9tablissement": { + "account_type": "Depreciation", + "account_number": "68111" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68112" + } + }, + "Dotations aux provisions d'exploitation": { + "account_type": "Depreciation", + "account_number": "6815" + }, + "6816-Dotations pour d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68161" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68162" + } + }, + "6817-Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { + "account_type": "Depreciation", + "Stocks et en-cours": { + "account_type": "Depreciation", + "account_number": "68173" + }, + "Cr\u00e9ances": { + "account_type": "Depreciation", + "account_number": "68174" + } + } + }, + "686-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges financi\u00e8res)": { + "account_type": "Depreciation", + "Dotations aux amortissements des primes de remboursement des emprunts": { + "account_type": "Depreciation", + "account_number": "6861" + }, + "Dotations aux amortissements des frais d'\u00e9mission des emprunts": { + "account_type": "Depreciation", + "account_number": "6862" + }, + "Dotations aux provisions financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "6865" + }, + "6866-Dotations pour d\u00e9pr\u00e9ciation des \u00e9l\u00e9ments financiers": { + "account_type": "Depreciation", + "Immobilisations financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "68662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_type": "Depreciation", + "account_number": "68665" + } + } + }, + "687-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges exceptionnelles)": { + "account_type": "Depreciation", + "Dotations aux amortissements exceptionnels des immobilisations": { + "account_type": "Depreciation", + "account_number": "6871" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { + "account_type": "Depreciation", + "Amortissements d\u00e9rogatoires": { + "account_type": "Depreciation", + "account_number": "68725" + } + }, + "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { + "account_type": "Depreciation", + "account_number": "6873" + }, + "Dotations aux autres provisions r\u00e9glement\u00e9es": { + "account_type": "Depreciation", + "account_number": "6874" + }, + "Dotations aux provisions exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6875" + }, + "Dotations pour d\u00e9pr\u00e9ciations exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6876" + } + } + }, + "69-Participation des salari\u00e9s - Imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { + "Participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "691" + }, + "695-Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "Imp\u00f4ts dus en France": { + "account_number": "6951" + }, + "Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": { + "account_number": "6952" + }, + "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { + "account_number": "6954" + } + }, + "Suppl\u00e9ments d'imp\u00f4t sur les soci\u00e9t\u00e9s li\u00e9s aux distributions": { + "account_number": "696" + }, + "698-Int\u00e9gration fiscale": { + "Int\u00e9gration fiscale - Charges": { + "account_number": "6981" + }, + "Int\u00e9gration fiscale - Produits": { + "account_number": "6989" + } + }, + "Produits - Reports en arri\u00e8re des d\u00e9ficits": { + "account_number": "699" + } + } + }, + "7-Comptes de produits": { + "root_type": "Income", + "70-Ventes de produits fabriqu\u00e9s, prestations de services, marchandises": { + "Ventes de produits finis": { + "account_number": "701" + }, + "Ventes de produits interm\u00e9diaires": { + "account_number": "702" + }, + "Ventes de produits r\u00e9siduels": { + "account_number": "703" + }, + "Travaux": { + "account_number": "704" + }, + "\u00c9tudes": { + "account_number": "705" + }, + "Prestations de services": { + "account_number": "706" + }, + "707-Ventes de marchandises": { + "Marchandises": { + "account_number": "7071" + }, + "Éco-participation": { + "account_type": "Income Account", + "account_number": "7079" + } + }, + "708-Produits des activit\u00e9s annexes": { + "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { + "account_number": "7081" + }, + "Commissions et courtages": { + "account_number": "7082" + }, + "Locations diverses": { + "account_number": "7083" + }, + "Mise \u00e0 disposition de personnel factur\u00e9e": { + "account_number": "7084" + }, + "Ports et frais accessoires factur\u00e9s": { + "account_number": "7085" + }, + "Bonis sur reprises d'emballages consign\u00e9s": { + "account_number": "7086" + }, + "Bonifications obtenues des clients et primes sur ventes": { + "account_number": "7087" + }, + "Autres produits d'activit\u00e9s annexes (cessions d'approvisionnements)": { + "account_number": "7088" + } + }, + "709-Rabais, remises et ristournes accord\u00e9s": { + "Rabais, remises et ristournes accord\u00e9s sur ventes de produits finis": { + "account_number": "7091" + }, + "Rabais, remises et ristournes accord\u00e9s sur ventes de produits interm\u00e9diaires": { + "account_number": "7092" + }, + "Rabais, remises et ristournes accord\u00e9s sur travaux": { + "account_number": "7094" + }, + "Rabais, remises et ristournes accord\u00e9s sur \u00e9tudes": { + "account_number": "7095" + }, + "Rabais, remises et ristournes accord\u00e9s sur prestations de services": { + "account_number": "7096" + }, + "Rabais, remises et ristournes accord\u00e9s sur ventes de marchandises": { + "account_number": "7097" + }, + "Rabais, remises et ristournes accord\u00e9s sur produits des activit\u00e9s annexes": { + "account_number": "7098" + } + } + }, + "71-Production stock\u00e9e (ou d\u00e9stockage)": { + "713-Variation des stocks des en-cours de production et de produits": { + "7133-Variation des en-cours de production de biens": { + "Produits en cours": { + "account_number": "71331" + }, + "Travaux en cours": { + "account_number": "71335" + } + }, + "7134-Variation des en-cours de production de services": { + "\u00c9tudes en cours": { + "account_number": "71341" + }, + "Prestations de services en cours": { + "account_number": "71345" + } + }, + "7135-Variation des stocks de produits": { + "Produits interm\u00e9diaires": { + "account_number": "71351" + }, + "Produits finis": { + "account_number": "71355" + }, + "Produits r\u00e9siduels": { + "account_number": "71358" + } + } + } + }, + "72-Production immobilis\u00e9e": { + "Immobilisations incorporelles": { + "account_number": "721" + }, + "Immobilisations corporelles": { + "account_number": "722" + } + }, + "74-Subventions": { + "Subventions d'exploitation": { + "account_number": "741" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "742" + }, + "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { + "account_number": "747" + } + }, + "75-Autres produits de gestion courante": { + "751-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques": { + "account_number": "7511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "7516" + }, + "Autres droits et valeurs similaires": { + "account_number": "7518" + } + }, + "Revenus des immeubles non affect\u00e9s \u00e0 des activit\u00e9s professionnelles": { + "account_number": "752" + }, + "R\u00e9mun\u00e9rations de l'activit\u00e9 des administrateurs et des g\u00e9rants": { + "account_number": "753" + }, + "Ristournes per\u00e7ues des coop\u00e9ratives provenant des exc\u00e9dents": { + "account_number": "754" + }, + "755-Quote-part de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de perte transf\u00e9r\u00e9e - comptabilit\u00e9 du g\u00e9rant": { + "account_number": "7551" + }, + "Quote-part de b\u00e9n\u00e9fice attribu\u00e9e - comptabilit\u00e9 des associ\u00e9s non-g\u00e9rants": { + "account_number": "7555" + } + }, + "Gains de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "756" + }, + "Produits des cessions d'immobilisations incorporelles et corporelles": { + "account_number": "757" + }, + "758-Indemnit\u00e9s et autres produits": { + "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et ventes": { + "account_number": "7581" + }, + "Lib\u00e9ralit\u00e9s re\u00e7ues": { + "account_number": "7582" + }, + "Rentr\u00e9es sur cr\u00e9ances amorties": { + "account_number": "7583" + }, + "D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "7584" + }, + "Bonis provenant de clauses d'indexation": { + "account_number": "7585" + }, + "Lots": { + "account_number": "7586" + }, + "Indemnit\u00e9s d'assurance": { + "account_number": "7587" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "account_number": "7588" + } + } + }, + "76-Produits financiers": { + "761-Produits de participations": { + "Revenus des titres de participation": { + "account_number": "7611" + }, + "Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "7612" + }, + "Revenus sur autres formes de participation": { + "account_number": "7616" + }, + "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "7617" + } + }, + "762-Produits des autres immobilisations financi\u00e8res": { + "Revenus des titres immobilis\u00e9s": { + "account_number": "7621" + }, + "Revenus des pr\u00eats": { + "account_number": "7626" + }, + "Revenus des cr\u00e9ances immobilis\u00e9es": { + "account_number": "7627" + } + }, + "763-Revenus des autres cr\u00e9ances": { + "Revenus des cr\u00e9ances commerciales": { + "account_number": "7631" + }, + "Revenus des cr\u00e9ances diverses": { + "account_number": "7638" + } + }, + "Revenus des valeurs mobili\u00e8res de placement": { + "account_number": "764" + }, + "Escomptes obtenus": { + "account_number": "765" + }, + "Gains de change financiers": { + "account_type": "Round Off", + "account_number": "766" + }, + "767-Produits sur cession d'\u00e9l\u00e9ments financiers": { + "Produits des cessions d'immobilisations financi\u00e8res": { + "account_number": "7671" + }, + "Produits nets sur cessions de titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "7672" + }, + "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "7673" + }, + "Produits nets sur cessions de jetons": { + "account_number": "7674" + } + }, + "768-Autres produits financiers": { + "Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": { + "account_number": "7683" + } + } + }, + "77-Produits exceptionnels": { + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les produits sur exercices ant\u00e9rieurs)": { + "account_number": "772" + }, + "Autres produits exceptionnels": { + "account_number": "778" + } + }, + "78-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { + "781-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { + "7811-Reprises sur amortissements des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78111" + }, + "Immobilisations corporelles": { + "account_number": "78112" + } + }, + "Reprises sur provisions d'exploitation": { + "account_number": "7815" + }, + "7816-Reprises sur d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78161" + }, + "Immobilisations corporelles": { + "account_number": "78162" + } + }, + "7817-Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { + "Stocks et en-cours": { + "account_number": "78173" + }, + "Cr\u00e9ances": { + "account_number": "78174" + } + } + }, + "786-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits financiers)": { + "Reprises sur provisions financi\u00e8res": { + "account_number": "7865" + }, + "7866-Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "Immobilisations financi\u00e8res": { + "account_number": "78662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_number": "78665" + } + } + }, + "787-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits exceptionnels)": { + "7872-Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { + "Amortissements d\u00e9rogatoires": { + "account_number": "78725" + } + }, + "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { + "account_number": "7873" + }, + "Reprises sur autres provisions r\u00e9glement\u00e9es": { + "account_number": "7874" + }, + "Reprises sur provisions exceptionnelles": { + "account_number": "7875" + }, + "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { + "account_number": "7876" + } + } + } + } + } +} \ No newline at end of file diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json new file mode 100644 index 00000000000..6d8d2b14302 --- /dev/null +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -0,0 +1,3260 @@ + +{ + "country_code": "fr", + "name": "France - Plan Comptable General Agricole 2025 avec code", + "tree": { + "1-Comptes de capitaux": { + "root_type": "Equity", + "10-Capital et r\u00e9serves": { + "101-Capital": { + "Capital individuel initial (au ..\/..\/..\/)": { + "account_number": "1011" + }, + "Variations capital individuel initial": { + "account_number": "1012" + }, + "Capital souscrit - non appel\u00e9": { + "account_number": "1013" + }, + "Capital souscrit - appel\u00e9, vers\u00e9": { + "account_number": "1014" + }, + "1015-Capital souscrit - appel\u00e9, non vers\u00e9": { + "Capital non amorti": { + "account_number": "10151" + }, + "Capital amorti": { + "account_number": "10152" + } + }, + "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { + "account_number": "1018" + } + }, + "104-Primes li\u00e9es au capital social": { + "Primes d'\u00e9mission": { + "account_number": "1041" + }, + "Primes de fusion": { + "account_number": "1042" + }, + "Primes d'apport": { + "account_number": "1043" + }, + "Primes de conversion d'obligations en actions": { + "account_number": "1044" + }, + "Bons de souscription d'actions": { + "account_number": "1045" + } + }, + "105-Ecarts de r\u00e9\u00e9valuation": { + "R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "1051" + }, + "Ecart de r\u00e9\u00e9valuation libre": { + "account_number": "1052" + }, + "R\u00e9serve de r\u00e9\u00e9valuation": { + "account_number": "1053" + }, + "Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": { + "account_number": "1055" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation en France": { + "account_number": "1057" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation \u00e0 l'Etranger": { + "account_number": "1058" + } + }, + "106-R\u00e9serves": { + "1061-R\u00e9serve l\u00e9gale": { + "R\u00e9serve l\u00e9gale proprement dite": { + "account_number": "10611" + }, + "Plus-values nettes \u00e0 long terme": { + "account_number": "10612" + } + }, + "R\u00e9serves indisponibles": { + "account_number": "1062" + }, + "R\u00e9serves statutaires ou contractuelles": { + "account_number": "1063" + }, + "1064-R\u00e9serves r\u00e9glement\u00e9es": { + "Plus-values nettes \u00e0 long terme": { + "account_number": "10641" + }, + "R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": { + "account_number": "10643" + }, + "Autres r\u00e9serves r\u00e9glement\u00e9es": { + "account_number": "10648" + } + }, + "1068-Autres r\u00e9serves": { + "R\u00e9serve de propre assureur": { + "account_number": "10681" + }, + "R\u00e9serves diverses": { + "account_number": "10688" + } + } + }, + "Ecart d'\u00e9quivalence": { + "account_number": "107" + }, + "Compte de l'exploitant": { + "account_number": "108" + }, + "109-Actionnaires et associ\u00e9s : Capital souscrit - non appel\u00e9": { + "Actionnaires : Capital souscrit - non appel\u00e9": { + "account_number": "1091" + }, + "Associ\u00e9s : Capital souscrit - non appel\u00e9": { + "account_number": "1092" + } + } + }, + "11-Report \u00e0 nouveau (solde cr\u00e9diteur ou d\u00e9biteur)": { + "Report \u00e0 nouveau (solde cr\u00e9diteur)": { + "account_number": "110" + }, + "Report \u00e0 nouveau (solde d\u00e9biteur)": { + "account_number": "119" + } + }, + "12-R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice ou perte)": { + "R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": { + "account_number": "120" + }, + "R\u00e9sultat de l'exercice (perte)": { + "account_number": "129" + } + }, + "13-Subventions d'investissement": { + "131-Subventions d'\u00e9quipement": { + "Etat": { + "account_number": "1311" + }, + "R\u00e9gions": { + "account_number": "1312" + }, + "D\u00e9partements": { + "account_number": "1313" + }, + "Communes": { + "account_number": "1314" + }, + "Collectivit\u00e9s publiques": { + "account_number": "1315" + }, + "Entreprises publiques": { + "account_number": "1316" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "1317" + }, + "Autres": { + "account_number": "1318" + } + }, + "Autres subventions d'investissement": { + "account_number": "138" + }, + "139-Subventions d'investissement inscrites au compte de r\u00e9sultat": { + "1391-Subventions d'\u00e9quipement inscrites au compte de r\u00e9sultat": { + "Etat": { + "account_number": "13911" + }, + "R\u00e9gions": { + "account_number": "13912" + }, + "D\u00e9partements": { + "account_number": "13913" + }, + "Communes": { + "account_number": "13914" + }, + "Collectivit\u00e9s publiques": { + "account_number": "13915" + }, + "Entreprises publiques": { + "account_number": "13916" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "13917" + }, + "Autres": { + "account_number": "13918" + } + }, + "Autres subventions d'investissement inscrites au compte de r\u00e9sultat": { + "account_number": "1398" + } + } + }, + "14-Provisions r\u00e9glement\u00e9es": { + "142-Provisions r\u00e9glement\u00e9es relatives aux immobilisations": { + "Provisions pour investissement (participation des salari\u00e9s)": { + "account_number": "1424" + } + }, + "143-Provisions r\u00e9glement\u00e9es relatives aux stocks": { + "Hausse des prix": { + "account_number": "1431" + }, + "Fluctuation des cours": { + "account_number": "1432" + } + }, + "Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": { + "account_number": "144" + }, + "Amortissements d\u00e9rogatoires": { + "account_number": "145" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "146" + }, + "Plus-values r\u00e9investies": { + "account_number": "147" + }, + "Autres provisions r\u00e9glement\u00e9es": { + "account_number": "148" + } + }, + "15-Provisions": { + "151-Provisions pour risques": { + "Provisions pour litiges": { + "account_number": "1511" + }, + "Provisions pour garanties donn\u00e9es aux clients": { + "account_number": "1512" + }, + "Provisions pour pertes sur march\u00e9s \u00e0 terme": { + "account_number": "1513" + }, + "Provisions pour amendes et p\u00e9nalit\u00e9s": { + "account_number": "1514" + }, + "Provisions pour pertes de change": { + "account_number": "1515" + }, + "Provisions pour pertes sur contrats": { + "account_number": "1516" + }, + "Autres provisions pour risques": { + "account_number": "1518" + } + }, + "Provisions pour pensions et obligations similaires": { + "account_number": "153" + }, + "Provisions pour restructurations": { + "account_number": "154" + }, + "Provisions pour imp\u00f4ts": { + "account_number": "155" + }, + "Provisions pour renouvellement des immobilisations": { + "account_number": "156" + }, + "157-Provisions pour charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Provisions pour gros entretien ou grandes r\u00e9visions": { + "account_number": "1572" + } + }, + "158-Autres provisions pour charges": { + "Provisions pour remises en \u00e9tat": { + "account_number": "1581" + } + } + }, + "16-Emprunts et dettes assimil\u00e9es": { + "Emprunts obligataires convertibles": { + "account_number": "161" + }, + "Autres emprunts obligataires": { + "account_number": "163" + }, + "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Emprunts fonciers": { + "account_number": "1641" + }, + "Autres emprunts \u00e0 moyen et long terme": { + "account_number": "1642" + }, + "Emprunts \u00e0 court terme": { + "account_number": "1643" + } + }, + "165-D\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "D\u00e9p\u00f4ts": { + "account_number": "1651" + }, + "Cautionnements": { + "account_number": "1655" + } + }, + "166-Participation des salari\u00e9s aux r\u00e9sultats": { + "Comptes bloqu\u00e9s": { + "account_number": "1661" + }, + "Fonds de participation": { + "account_number": "1662" + } + }, + "167-Emprunts et dettes assortis de conditions particuli\u00e8res": { + "Emissions de titres participatifs": { + "account_number": "1671" + }, + "Avances conditionn\u00e9es": { + "account_number": "1674" + }, + "Emprunts participatifs": { + "account_number": "1675" + } + }, + "168-Autres emprunts et dettes assimil\u00e9es": { + "Autres emprunts": { + "account_number": "1681" + }, + "Rentes viag\u00e8res capitalis\u00e9es": { + "account_number": "1685" + }, + "Autres dettes": { + "account_number": "1687" + }, + "1688-Int\u00e9r\u00eats courus": { + "sur emprunts obligataires convertibles": { + "account_number": "16881" + }, + "sur autres emprunts obligataires": { + "account_number": "16883" + }, + "16884-sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Int\u00e9r\u00eats courus sur emprunts fonciers": { + "account_number": "168841" + }, + "Int\u00e9r\u00eats courus sur autres emprunts MLT": { + "account_number": "168842" + }, + "Int\u00e9r\u00eats courus sur emprunts court terme": { + "account_number": "168843" + } + }, + "sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "account_number": "16885" + }, + "sur participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "16886" + }, + "sur emprunts et dettes assortis de conditions particuli\u00e8res": { + "account_number": "16887" + }, + "sur autres emprunts et dettes assimil\u00e9es": { + "account_number": "16888" + } + } + }, + "Primes de remboursement des obligations": { + "account_number": "169" + } + }, + "17-Dettes rattach\u00e9es \u00e0 des participations": { + "171-Dettes rattach\u00e9es \u00e0 des participations (groupe)": { + "Principal": { + "account_number": "1711" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1712" + } + }, + "172-Dettes rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles (autres que les \u00e9tablissements de cr\u00e9dit)": { + "Principal": { + "account_number": "1721" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1728" + } + }, + "174-Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": { + "Principal": { + "account_number": "1741" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1748" + } + }, + "178-Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "1781" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1788" + } + } + }, + "18-Comptes de liaison des \u00e9tablissements et soci\u00e9t\u00e9s en participation": { + "Comptes de liaison des \u00e9tablissements": { + "account_number": "181" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": { + "account_number": "186" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": { + "account_number": "187" + }, + "Comptes de liaison des soci\u00e9t\u00e9s en participation": { + "account_number": "188" + } + } + }, + "2-Comptes d'immobilisations": { + "root_type": "Asset", + "20-Immobilisations incorporelles": { + "201-Frais d'\u00e9tablissement": { + "Frais de constitution": { + "account_number": "2011" + }, + "2012-Frais de premier \u00e9tablissement": { + "Frais de prospection": { + "account_number": "20121" + }, + "Frais de publicit\u00e9": { + "account_number": "20122" + } + }, + "Frais d'augmentation de capital et d'op\u00e9rations diverses (fusions, scissions, transformations)": { + "account_number": "2013" + } + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_number": "203" + }, + "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "205" + }, + "Droit au bail": { + "account_number": "206" + }, + "207-Fonds rural et commercial": { + "Fonds agricole": { + "account_number": "2071" + }, + "Fonds commercial": { + "account_number": "2072" + } + }, + "208-Autres immobilisations incorporelles": { + "Usufruit temporaire": { + "account_number": "2082" + } + } + }, + "21-Immobilisations corporelles": { + "account_type": "Fixed Asset", + "211-Terrains": { + "account_type": "Fixed Asset", + "2111-Terrains nus": { + "account_type": "Fixed Asset", + "Terrains nus exploit\u00e9s en faire valoir direct": { + "account_type": "Fixed Asset", + "account_number": "21111" + }, + "Autres terrains nus": { + "account_type": "Fixed Asset", + "account_number": "21112" + } + }, + "Terrains am\u00e9nag\u00e9s": { + "account_type": "Fixed Asset", + "account_number": "2112" + }, + "Sous-sols et sur-sols": { + "account_type": "Fixed Asset", + "account_number": "2113" + }, + "2114-Terrains de gisement": { + "account_type": "Fixed Asset", + "Carri\u00e8res": { + "account_type": "Fixed Asset", + "account_number": "21141" + } + }, + "2115-Terrains b\u00e2tis": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21151" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21155" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21158" + } + }, + "Compte d'ordre sur immobilisations (art. 6 du d\u00e9cret 78.737 du 11-07-1978)": { + "account_type": "Fixed Asset", + "account_number": "2116" + } + }, + "Agencements et am\u00e9nagements de terrains": { + "account_type": "Fixed Asset", + "account_number": "212" + }, + "213-Constructions sur sol propre": { + "account_type": "Fixed Asset", + "2131-B\u00e2timents": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21311" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21315" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21318" + } + }, + "2135-Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21351" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21355" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21358" + } + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2138" + } + }, + "214-Constructions sur sol d'autrui": { + "account_type": "Fixed Asset", + "2141-B\u00e2timents": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21411" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21415" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21418" + } + }, + "2145-Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21451" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21455" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21458" + } + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2148" + } + }, + "215-Installations techniques, mat\u00e9riels et outillage": { + "account_type": "Fixed Asset", + "Installations techniques sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "2151" + }, + "Installations techniques sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "2153" + }, + "Mat\u00e9riel": { + "account_type": "Fixed Asset", + "account_number": "2154" + }, + "Outillage": { + "account_type": "Fixed Asset", + "account_number": "2155" + }, + "Agencements et am\u00e9nagements du mat\u00e9riel et outillage industriels": { + "account_type": "Fixed Asset", + "account_number": "2157" + } + }, + "Am\u00e9liorations du fonds": { + "account_type": "Fixed Asset", + "account_number": "217" + }, + "218-Autres immobilisations corporelles (hors biens vivants)": { + "account_type": "Fixed Asset", + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { + "account_type": "Fixed Asset", + "account_number": "2181" + }, + "Mat\u00e9riel de transport": { + "account_type": "Fixed Asset", + "account_number": "2182" + }, + "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { + "account_type": "Fixed Asset", + "account_number": "2183" + }, + "Mobilier": { + "account_type": "Fixed Asset", + "account_number": "2184" + }, + "Emballages r\u00e9cup\u00e9rables": { + "account_type": "Fixed Asset", + "account_number": "2186" + }, + "Autres": { + "account_type": "Fixed Asset", + "account_number": "2188" + } + } + }, + "Immobilisations mises en concession": { + "account_number": "22" + }, + "23-Immobilisations en cours": { + "231-Immobilisations corporelles en cours (hors biens vivants)": { + "Terrains (en cours)": { + "account_number": "2311" + }, + "Agencements et am\u00e9nagements de terrains (en cours)": { + "account_number": "2312" + }, + "Constructions sur sol propre (en cours)": { + "account_number": "2313" + }, + "Constructions sur sol d'autrui (en cours)": { + "account_number": "2314" + }, + "Installations techniques, mat\u00e9riel et outillage (en cours)": { + "account_number": "2315" + }, + "Autres immobilisations corporelles - hors biens vivants (en cours)": { + "account_number": "2318" + } + }, + "Immobilisations incorporelles en cours": { + "account_number": "232" + }, + "234-Immobilisations corporelles en cours (biens vivants)": { + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "2341" + }, + "Animaux de services (en cours)": { + "account_number": "2343" + }, + "Plantations p\u00e9rennes (en cours)": { + "account_number": "2346" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s (en cours)": { + "account_number": "2347" + } + }, + "Avances et acomptes vers\u00e9s sur immobilisations incorporelles": { + "account_number": "237" + }, + "238-Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "2381" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "2384" + } + } + }, + "24-Immobilisations en cours (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "241" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "242" + }, + "Animaux de services": { + "account_number": "243" + }, + "246-Plantations p\u00e9rennes": { + "Plantations p\u00e9rennes sur sol propre": { + "account_number": "2461" + }, + "Plantations p\u00e9rennes sur sol d'autrui": { + "account_number": "2465" + }, + "Am\u00e9nagements des plantations p\u00e9rennes": { + "account_number": "2467" + } + }, + "247-Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "Autres v\u00e9g\u00e9taux immobilis\u00e9s sur sol propre": { + "account_number": "2471" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s sur sol d'autrui": { + "account_number": "2475" + }, + "Am\u00e9nagements des autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2477" + } + } + }, + "Entreprises li\u00e9es - parts et cr\u00e9ances": { + "account_number": "25" + }, + "26-Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "261-Titres de participation": { + "Actions": { + "account_number": "2611" + }, + "Autres titres": { + "account_number": "2618" + } + }, + "262-Participations \u00e0 des organismes professionnels agricoles": { + "Soci\u00e9t\u00e9s coop\u00e9ratives agricoles (sauf CUMA)": { + "account_number": "2621" + }, + "CUMA": { + "account_number": "2622" + }, + "SICA": { + "account_number": "2624" + }, + "Autres": { + "account_number": "2628" + } + }, + "Autres formes de participation": { + "account_number": "266" + }, + "267-Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": { + "account_number": "2671" + }, + "2672-Cr\u00e9ances rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles": { + "Soci\u00e9t\u00e9s coop\u00e9ratives agricoles (sauf CUMA)": { + "account_number": "26721" + }, + "CUMA": { + "account_number": "26722" + }, + "SICA": { + "account_number": "26724" + }, + "Autres": { + "account_number": "26728" + } + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 d'autres participations": { + "account_number": "2674" + }, + "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": { + "account_number": "2675" + }, + "Avances consolidables": { + "account_number": "2676" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2678" + } + }, + "268-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "2681" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2688" + } + }, + "269-Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { + "sur titres de participation": { + "account_number": "2691" + }, + "sur participations \u00e0 des organismes professionnels agricoles": { + "account_number": "2692" + }, + "sur autres formes de participation": { + "account_number": "2696" + } + } + }, + "27-Autres immobilisations financi\u00e8res": { + "271-Titres immobilis\u00e9s (droit de propri\u00e9t\u00e9)": { + "Actions": { + "account_number": "2711" + }, + "Parts dans les \u00e9tablissements de cr\u00e9dit": { + "account_number": "2715" + }, + "Autres titres": { + "account_number": "2718" + } + }, + "272-Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "Obligations": { + "account_number": "2721" + }, + "Bons": { + "account_number": "2722" + }, + "Certificats de fonds de d\u00e9veloppement coop\u00e9ratifs": { + "account_number": "2723" + } + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "273" + }, + "274-Pr\u00eats": { + "Pr\u00eats participatifs": { + "account_number": "2741" + }, + "Pr\u00eats aux associ\u00e9s": { + "account_number": "2742" + }, + "Pr\u00eats au personnel": { + "account_number": "2743" + }, + "Autres pr\u00eats": { + "account_number": "2748" + } + }, + "275-D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "D\u00e9p\u00f4ts": { + "account_number": "2751" + }, + "Cautionnements": { + "account_number": "2755" + } + }, + "276-Autres cr\u00e9ances immobilis\u00e9es": { + "Cr\u00e9ances diverses": { + "account_number": "2761" + }, + "2768-Int\u00e9r\u00eats courus": { + "sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "27682" + }, + "sur pr\u00eats": { + "account_number": "27684" + }, + "sur d\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "27685" + }, + "sur cr\u00e9ances diverses": { + "account_number": "27688" + } + } + }, + "Actions propres ou parts propres": { + "account_number": "277" + }, + "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { + "account_number": "279" + } + }, + "28-Amortissements des immobilisations": { + "account_type": "Accumulated Depreciation", + "280-Amortissements des immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Frais d'\u00e9tablissement": { + "account_type": "Accumulated Depreciation", + "account_number": "2801" + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_type": "Accumulated Depreciation", + "account_number": "2803" + }, + "Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires": { + "account_type": "Accumulated Depreciation", + "account_number": "2805" + }, + "Fonds commercial": { + "account_type": "Accumulated Depreciation", + "account_number": "2807" + }, + "2808-Autres immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Usufruit temporaire": { + "account_type": "Accumulated Depreciation", + "account_number": "28082" + } + } + }, + "281-Amortissements des immobilisations corporelles (hors biens vivants)": { + "account_type": "Accumulated Depreciation", + "Terrains de gisement": { + "account_type": "Accumulated Depreciation", + "account_number": "2811" + }, + "Agencements, am\u00e9nagements de terrains amortissables": { + "account_type": "Accumulated Depreciation", + "account_number": "2812" + }, + "Constructions sur sol propre": { + "account_type": "Accumulated Depreciation", + "account_number": "2813" + }, + "Constructions sur sol d'autrui": { + "account_type": "Accumulated Depreciation", + "account_number": "2814" + }, + "Installations, mat\u00e9riel et outillage": { + "account_type": "Accumulated Depreciation", + "account_number": "2815" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_type": "Accumulated Depreciation", + "account_number": "2818" + } + }, + "Amortissement des immobilisations mises en concession": { + "account_type": "Accumulated Depreciation", + "account_number": "282" + }, + "284-Amortissement des immobilisations corporelles (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "2841" + }, + "Animaux de service": { + "account_number": "2843" + }, + "Plantation p\u00e9rennes": { + "account_number": "2846" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2847" + } + } + }, + "29-D\u00e9pr\u00e9ciations des immobilisations": { + "290-D\u00e9pr\u00e9ciations des immobilisations incorporelles": { + "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { + "account_number": "2905" + }, + "Droit au bail": { + "account_number": "2906" + }, + "Fonds rural et commercial": { + "account_number": "2907" + }, + "Autres immobilisations incorporelles": { + "account_number": "2908" + } + }, + "291-D\u00e9pr\u00e9ciations des immobilisations corporelles (hors biens vivants)": { + "Terrains": { + "account_number": "2911" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "2912" + }, + "Constructions sur sol propre": { + "account_number": "2913" + }, + "Constructions sur sol d'autrui": { + "account_number": "2914" + }, + "Installations techniques, mat\u00e9riel et outillage": { + "account_number": "2915" + }, + "Am\u00e9liorations du fonds": { + "account_number": "2917" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_number": "2918" + } + }, + "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { + "account_number": "292" + }, + "293-D\u00e9pr\u00e9ciations des immobilisations en cours": { + "Immobilisations corporelles en cours (hors biens vivants)": { + "account_number": "2931" + }, + "Immobilisations incorporelles en cours": { + "account_number": "2932" + }, + "Immobilisations corporelles en cours (biens vivants)": { + "account_number": "2934" + } + }, + "294-Autres immobilisations corporelles (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "2941" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "2942" + }, + "Animaux de service": { + "account_number": "2943" + }, + "Plantation p\u00e9rennes": { + "account_number": "2946" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2947" + } + }, + "296-D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "account_number": "2961" + }, + "Participations \u00e0 des organismes professionnels agricoles": { + "account_number": "2962" + }, + "Autres formes de participation": { + "account_number": "2966" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "2967" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "account_number": "2968" + } + }, + "297-D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s - droit de propri\u00e9t\u00e9": { + "account_number": "2971" + }, + "Titres immobilis\u00e9s - droit de cr\u00e9ances": { + "account_number": "2972" + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "2973" + }, + "Pr\u00eats": { + "account_number": "2974" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "2975" + }, + "Autres cr\u00e9ances immobilis\u00e9es": { + "account_number": "2976" + } + } + } + }, + "3-Comptes de stocks et en-cours": { + "root_type": "Asset", + "30-Stocks et en-cours": { + "301-Approvisionnements": { + "Engrais et amendements": { + "account_number": "3011" + }, + "Semences et plants": { + "account_number": "3012" + }, + "Produits de d\u00e9fense des v\u00e9g\u00e9taux": { + "account_number": "3013" + }, + "Aliments du b\u00e9tail": { + "account_number": "3014" + }, + "Produits de d\u00e9fense des animaux": { + "account_number": "3015" + }, + "Produits de reproduction animale": { + "account_number": "3016" + }, + "3017-Emballages": { + "Emballages perdus": { + "account_number": "30171" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_number": "30175" + }, + "Emballages \u00e0 usage mixte": { + "account_number": "30177" + } + }, + "Combustibles": { + "account_number": "3018" + } + }, + "302-Autres approvisionnements": { + "Carburants et lubrifiants": { + "account_number": "3021" + }, + "Produits d'entretien": { + "account_number": "3022" + }, + "Fournitures d'atelier et de magasin": { + "account_number": "3023" + }, + "Fournitures de bureau": { + "account_number": "3024" + }, + "Denr\u00e9es et fournitures pour le personnel": { + "account_number": "3025" + }, + "Mat\u00e9riaux divers": { + "account_number": "3026" + }, + "Autres fournitures consommables": { + "account_number": "3027" + }, + "Mati\u00e8res premi\u00e8res": { + "account_number": "3028" + } + }, + "Marchandises": { + "account_number": "307" + } + }, + "31-Animaux (cycle long)": { + "Stocks d'animaux (cycle long)": { + "account_number": "311" + } + }, + "32-Animaux (cycle court)": { + "Stocks d'animaux (cycle court)": { + "account_number": "321" + } + }, + "33-V\u00e9g\u00e9taux en terre (cycle long)": { + "331-Avances aux cultures (cycle long)": { + "Engrais et amendements en terre": { + "account_number": "3311" + }, + "Semences et plants en terre": { + "account_number": "3312" + }, + "Produit de d\u00e9fense des v\u00e9g\u00e9taux en terre": { + "account_number": "3313" + }, + "Autres approvisionnements en terre": { + "account_number": "3314" + }, + "Fa\u00e7ons culturales": { + "account_number": "3315" + }, + "Autres": { + "account_number": "3318" + } + } + }, + "34-V\u00e9g\u00e9taux en terre (cycle court)": { + "341-Avances aux cultures (cycle court)": { + "Engrais et amendements en terre": { + "account_number": "3411" + }, + "Semences et plants en terre": { + "account_number": "3412" + }, + "Produit de d\u00e9fense des v\u00e9g\u00e9taux en terre": { + "account_number": "3413" + }, + "Autres approvisionnements en terre": { + "account_number": "3414" + }, + "Fa\u00e7ons culturales": { + "account_number": "3415" + }, + "Autres": { + "account_number": "3418" + } + }, + "Autres v\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "348" + } + }, + "35-En-cours de production de biens et services (cycle long)": { + "Biens (cycle long)": { + "account_number": "355" + }, + "Autres biens (cycle long)": { + "account_number": "356" + }, + "Travaux \u00e0 fa\u00e7on (cycle long)": { + "account_number": "357" + }, + "Autres services (cycle long)": { + "account_number": "358" + } + }, + "36-En-cours de production de biens et services (cycle court)": { + "Biens (cycle court) - Produits v\u00e9g\u00e9taux": { + "account_number": "361" + }, + "Biens (cycle court) - Produits animaux": { + "account_number": "362" + }, + "Biens (cycle court) - Vins": { + "account_number": "363" + }, + "Biens (cycle court) - Alcools": { + "account_number": "364" + }, + "Biens (cycle court) - Autres produits transform\u00e9s": { + "account_number": "365" + }, + "Autres biens (activit\u00e9s annexes)": { + "account_number": "366" + }, + "Travaux \u00e0 fa\u00e7on (cycle court)": { + "account_number": "367" + }, + "Autres services (cycle court)": { + "account_number": "368" + } + }, + "37-Stocks de Produits": { + "account_type": "Stock", + "Produits interm\u00e9diaires v\u00e9g\u00e9taux": { + "account_type": "Stock", + "account_number": "371" + }, + "Produits interm\u00e9diaires animaux": { + "account_type": "Stock", + "account_number": "372" + }, + "Produits interm\u00e9diaires transform\u00e9s": { + "account_type": "Stock", + "account_number": "373" + }, + "Produits finis v\u00e9g\u00e9taux": { + "account_type": "Stock", + "account_number": "374" + }, + "Produits finis animaux": { + "account_type": "Stock", + "account_number": "375" + }, + "Produits finis transform\u00e9s": { + "account_type": "Stock", + "account_number": "376" + }, + "Produits r\u00e9siduels": { + "account_type": "Stock", + "account_number": "377" + }, + "Produits (activit\u00e9s annexes)": { + "account_type": "Stock", + "account_number": "378" + } + }, + "Inventaire permanent": { + "account_number": "38" + }, + "39-D\u00e9pr\u00e9ciations des stocks et en-cours": { + "D\u00e9pr\u00e9ciations des approvisionnements et marchandises": { + "account_number": "390" + }, + "D\u00e9pr\u00e9ciations des animaux (cycle long)": { + "account_number": "391" + }, + "D\u00e9pr\u00e9ciations des animaux (cycle court)": { + "account_number": "392" + }, + "D\u00e9pr\u00e9ciations des v\u00e9g\u00e9taux en terre (cycle long)": { + "account_number": "393" + }, + "D\u00e9pr\u00e9ciations des v\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "394" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens et services (cycle long)": { + "account_number": "395" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens et services (cycle court)": { + "account_number": "396" + }, + "D\u00e9pr\u00e9ciations des produits": { + "account_number": "397" + } + } + }, + "4-Comptes de tiers (ACTIF)": { + "root_type": "Asset", + "40-Fournisseurs et comptes rattach\u00e9s (ACTIF)": { + "409-Fournisseurs d\u00e9biteurs": { + "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { + "account_number": "4091" + }, + "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { + "account_number": "4096" + }, + "4097-Fournisseurs - Autres avoirs": { + "Fournisseurs d'exploitation": { + "account_number": "40971" + }, + "Fournisseurs d'immobilisations": { + "account_number": "40974" + } + }, + "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { + "account_number": "4098" + } + } + }, + "41-Clients et comptes rattach\u00e9s (ACTIF)": { + "account_type": "Receivable", + "411-Clients": { + "account_type": "Receivable", + "Clients - Ventes de biens ou de prestations de services": { + "account_type": "Receivable", + "account_number": "4111" + }, + "Clients - Retenues de garantie": { + "account_type": "Receivable", + "account_number": "4117" + } + }, + "Clients - Effets \u00e0 recevoir": { + "account_type": "Receivable", + "account_number": "413" + }, + "Clients douteux ou litigieux": { + "account_type": "Receivable", + "account_number": "416" + }, + "418-Clients - Produits non encore factur\u00e9s": { + "account_type": "Receivable", + "Clients - Factures \u00e0 \u00e9tablir": { + "account_type": "Receivable", + "account_number": "4181" + }, + "Clients - Int\u00e9r\u00eats courus": { + "account_type": "Receivable", + "account_number": "4188" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (ACTIF)": { + "Personnel - Avances et acomptes": { + "account_number": "425" + } + }, + "43-Mutualit\u00e9 Sociale Agricole et autres organismes sociaux (ACTIF)": { + "Mutualit\u00e9 Sociale Agricole": { + "account_number": "431" + }, + "Autres organismes sociaux": { + "account_number": "437" + }, + "438-Organismes sociaux - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Produits \u00e0 recevoir": { + "account_number": "4387" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (ACTIF)": { + "441-Etat - Subventions \u00e0 recevoir": { + "Subventions d'investissement": { + "account_number": "4411" + }, + "Subventions d'exploitation": { + "account_number": "4417" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "4418" + }, + "Avances sur subventions": { + "account_number": "4419" + } + }, + "Op\u00e9rations particuli\u00e8res avec l'Etat, les collectivit\u00e9s publiques, les organismes internationaux": { + "account_number": "443" + }, + "445-Etat - Taxes sur le chiffre d'affaires": { + "TVA due intracommunautaire": { + "account_number": "4452", + "account_type": "Tax", + "tax_rate": -20 + }, + "44551-TVA à décaisser": { + "TVA 20% Déductible": { + "account_number": "445511", + "account_type": "Tax", + "tax_rate": 20 + }, + "TVA 10% Déductible": { + "account_number": "445512", + "account_type": "Tax", + "tax_rate": 10 + }, + "TVA 5.5% Déductible": { + "account_number": "445513", + "account_type": "Tax", + "tax_rate": 5.5 + }, + "TVA 2.1% Déductible": { + "account_number": "445514", + "account_type": "Tax", + "tax_rate": 2.1 + } + }, + "4456-Taxes sur le chiffre d'affaires d\u00e9ductibles": { + "TVA sur immobilisations": { + "account_number": "44562" + }, + "TVA transf\u00e9r\u00e9e par d'autres entreprises": { + "account_number": "44563" + }, + "44566-TVA sur autres biens et services": { + "TVA sur intracommunautaire sur biens et services": { + "account_number": "445662", + "account_type": "Tax", + "tax_rate": 20 + } + }, + "Cr\u00e9dit de TVA \u00e0 reporter": { + "account_number": "44567" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44568" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { + "account_number": "44581" + }, + "Acomptes - R\u00e9gime du forfait": { + "account_number": "44582" + }, + "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { + "account_number": "44583" + }, + "Taxes sur le chiffre d'affaires sur factures non parvenues": { + "account_number": "44586" + } + } + }, + "448-Etat - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges fiscales sur cong\u00e9s \u00e0 payer": { + "account_number": "4482" + }, + "Autres charges \u00e0 payer": { + "account_number": "4486" + }, + "Produits \u00e0 recevoir": { + "account_number": "4487" + } + } + }, + "45-Groupe, communaut\u00e9s d'exploitation et associ\u00e9s (ACTIF)": { + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4562-Apporteurs - Capital appel\u00e9, non vers\u00e9": { + "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { + "account_number": "45621" + }, + "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { + "account_number": "45625" + } + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "462" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "465" + }, + "Autres comptes d\u00e9biteurs ou cr\u00e9diteurs": { + "account_number": "467" + }, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Produits \u00e0 recevoir": { + "account_number": "4687" + } + } + }, + "47-Comptes transitoires ou d'attente (ACTIF)": { + "471-Comptes d'attente (ACTIF)": { + "account_type": "Temporary" + }, + "476-Diff\u00e9rence de conversion - Actif": { + "Diminution des cr\u00e9ances": { + "account_number": "4761" + }, + "Augmentation des dettes": { + "account_number": "4762" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4768" + } + }, + "478-Autres comptes transitoires (ACTIF)": {} + }, + "48-Comptes de r\u00e9gularisation (ACTIF)": { + "481-Charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Frais d'\u00e9mission des emprunts": { + "account_number": "4816" + } + }, + "Charges constat\u00e9es d'avance": { + "account_number": "486" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Charges": { + "account_number": "4886" + } + } + }, + "49-D\u00e9pr\u00e9ciations des comptes de tiers (ACTIF)": { + "495-D\u00e9pr\u00e9ciations des comptes du groupe, des communaut\u00e9s d'exploitation et des associ\u00e9s": { + "Comptes du groupe": { + "account_number": "4951" + }, + "Comptes courants des associ\u00e9s": { + "account_number": "4955" + }, + "Op\u00e9rations faites en commun et en GIE": { + "account_number": "4958" + } + }, + "496-D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "4962" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "4965" + }, + "Autres comptes d\u00e9biteurs": { + "account_number": "4967" + } + } + } + }, + "4-Comptes de tiers (PASSIF)": { + "root_type": "Liability", + "40-Fournisseurs et comptes rattach\u00e9s (PASSIF)": { + "account_type": "Payable", + "401-Fournisseurs d'exploitation": { + "Fournisseurs - Achats de biens et de prestations de services": { + "account_type": "Payable", + "account_number": "4011" + }, + "Fournisseurs - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4017" + } + }, + "Fournisseurs - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "403" + }, + "404-Fournisseurs d'immobilisations": { + "account_type": "Payable", + "Fournisseurs - Achats d'immobilisations": { + "account_type": "Payable", + "account_number": "4041" + }, + "Fournisseurs d'immobilisations - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4047" + } + }, + "Fournisseurs d'immobilisations - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "405" + }, + "408-Fournisseurs - Factures non parvenues": { + "account_type": "Stock Received But Not Billed", + "Fournisseurs d'exploitation": { + "account_type": "Stock Received But Not Billed", + "account_number": "4081" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Asset Received But Not Billed", + "account_number": "4084" + }, + "Fournisseurs - Int\u00e9r\u00eats courus": { + "account_type": "Stock Received But Not Billed", + "account_number": "4088" + } + } + }, + "41-Clients et comptes rattach\u00e9s (PASSIF)": { + "419-Clients cr\u00e9diteurs": { + "Clients - Avances et acomptes re\u00e7us sur commandes": { + "account_number": "4191", + "account_type": "Payable" + }, + "Clients - Dettes sur emballages et mat\u00e9riels consign\u00e9s": { + "account_number": "4196" + }, + "Clients - Autres avoirs": { + "account_number": "4197" + }, + "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { + "account_number": "4198" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (PASSIF)": { + "Personnel - R\u00e9mun\u00e9rations dues": { + "account_number": "421" + }, + "Comit\u00e9s d'entreprises, d'\u00e9tablissement": { + "account_number": "422" + }, + "424-Participation des salari\u00e9s aux r\u00e9sultats": { + "R\u00e9serve sp\u00e9ciale (art. L. 442-2 du Code du travail)": { + "account_number": "4246" + }, + "Comptes courants": { + "account_number": "4248" + } + }, + "Personnel - D\u00e9p\u00f4ts": { + "account_number": "426" + }, + "Personnel - Oppositions": { + "account_number": "427" + }, + "428-Personnel - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { + "account_number": "4282" + }, + "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "4284" + }, + "Autres charges \u00e0 payer": { + "account_number": "4286" + }, + "Produits \u00e0 recevoir": { + "account_number": "4287" + } + } + }, + "43-Mutualit\u00e9 Sociale Agricole et autres organismes sociaux (PASSIF)": { + "438-Organismes sociaux - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges sociales sur cong\u00e9s \u00e0 payer": { + "account_number": "4382" + }, + "Autres charges \u00e0 payer": { + "account_number": "4386" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (PASSIF)": { + "442-Etat - Imp\u00f4ts et taxes recouvrables sur des tiers": { + "Obligataires": { + "account_number": "4424" + }, + "Associ\u00e9s": { + "account_number": "4425" + } + }, + "Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "444" + }, + "445-Etat - Taxes sur le chiffre d'affaires": { + "4455-Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { + "TVA \u00e0 d\u00e9caisser": { + "account_number": "44551" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44558" + } + }, + "4457-Taxes sur le chiffre d'affaires collect\u00e9es par l'entreprise": { + "44571-TVA collect\u00e9e": { + "account_type": "Tax", + "TVA 20% Collectée": { + "account_type": "Tax", + "account_number": "4457101", + "tax_rate": 20 + }, + "TVA 10% Collectée": { + "account_type": "Tax", + "account_number": "4457102", + "tax_rate": 10 + }, + "TVA 5.5% Collectée": { + "account_type": "Tax", + "account_number": "4457103", + "tax_rate": 5.5 + }, + "TVA 2.1% Collectée": { + "account_type": "Tax", + "account_number": "4457104", + "tax_rate": 2.1 + } + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44578" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { + "account_number": "44584" + }, + "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { + "account_number": "44587" + } + } + }, + "Obligations cautionn\u00e9es": { + "account_number": "446" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { + "account_number": "447" + } + }, + "45-Groupe, communaut\u00e9s d'exploitation et associ\u00e9s (PASSIF)": { + "Groupe": { + "account_number": "451" + }, + "455-Associ\u00e9s - Comptes courants": { + "Associ\u00e9s - Comptes courants (principal)": { + "account_number": "4551" + }, + "Associ\u00e9s - Comptes courants (int\u00e9r\u00eats courus)": { + "account_number": "4558" + } + }, + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4561-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { + "Apports en nature": { + "account_number": "45611" + }, + "Apports en num\u00e9raire": { + "account_number": "45615" + } + }, + "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { + "account_number": "4563" + }, + "Associ\u00e9s - Versements anticip\u00e9s": { + "account_number": "4564" + }, + "Associ\u00e9s d\u00e9faillants": { + "account_number": "4566" + }, + "Associ\u00e9s - Capital \u00e0 rembourser": { + "account_number": "4567" + } + }, + "Associ\u00e9s - Dividendes \u00e0 payer": { + "account_number": "457" + }, + "458-Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { + "Op\u00e9rations courantes": { + "account_number": "4581" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4588" + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { + "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { + "account_number": "464" + }, + "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs": { + "Autres comptes d\u00e9biteurs": { + "account_number": "4671" + }, + "Autres comptes cr\u00e9diteurs": { + "account_number": "4672" + } + }, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges \u00e0 payer": { + "account_number": "4686" + } + } + }, + "47-Comptes transitoires ou d'attente (PASSIF)": { + "471-Comptes d'attente (PASSIF)": { + "account_type": "Temporary" + }, + "477-Diff\u00e9rences de conversion - Passif": { + "Augmentation des cr\u00e9ances": { + "account_number": "4771" + }, + "Diminution des dettes": { + "account_number": "4772" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4778" + } + }, + "478-Autres comptes transitoires (PASSIF)": {} + }, + "48-Comptes de r\u00e9gularisation (PASSIF)": { + "Produits constat\u00e9s d'avance": { + "account_number": "487" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Produits": { + "account_number": "4887" + } + } + }, + "D\u00e9pr\u00e9ciations des comptes de tiers (PASSIF)": { + "account_number": "49" + } + }, + "5-Comptes financiers": { + "root_type": "Asset", + "50-Valeurs mobili\u00e8res de placement": { + "Parts dans des entreprises li\u00e9es": { + "account_number": "501" + }, + "Actions propres": { + "account_number": "502" + }, + "503-Actions": { + "Titres cot\u00e9s": { + "account_number": "5031" + }, + "Titres non cot\u00e9s": { + "account_number": "5035" + } + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "504" + }, + "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { + "account_number": "505" + }, + "506-Obligations": { + "Titres cot\u00e9s": { + "account_number": "5061" + }, + "Titres non cot\u00e9s": { + "account_number": "5065" + } + }, + "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { + "account_number": "507" + }, + "508-Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { + "Autres valeurs mobili\u00e8res": { + "account_number": "5081" + }, + "Bons de souscription": { + "account_number": "5082" + }, + "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9s": { + "account_number": "5088" + } + }, + "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { + "account_number": "509" + } + }, + "51-Banques, \u00e9tablissements financiers et assimil\u00e9s": { + "511-Valeurs \u00e0 l'encaissement": { + "Coupons \u00e9chus \u00e0 l'encaissement": { + "account_number": "5111" + }, + "Ch\u00e8ques \u00e0 encaisser": { + "account_number": "5112" + }, + "Effets \u00e0 l'encaissement": { + "account_number": "5113" + }, + "Effets \u00e0 l'escompte": { + "account_number": "5114" + } + }, + "512-Banques": { + "account_type": "Bank", + "Comptes en euros": { + "account_type": "Bank", + "account_number": "5121" + }, + "Comptes en devises": { + "account_type": "Bank", + "account_number": "5124" + } + }, + "Ch\u00e8ques postaux": { + "account_number": "514" + }, + "Caisses du Tr\u00e9sor et des \u00e9tablissements publics": { + "account_number": "515" + }, + "Soci\u00e9t\u00e9s de Bourse": { + "account_number": "516" + }, + "Autres organismes financiers": { + "account_number": "517" + }, + "518-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus \u00e0 payer": { + "account_number": "5181" + }, + "Int\u00e9r\u00eats courus \u00e0 recevoir": { + "account_number": "5188" + } + }, + "519-Concours bancaires courants": { + "Cr\u00e9dit bancaires de campagne": { + "account_number": "5191" + }, + "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { + "account_number": "5193" + }, + "Cr\u00e9dits de mobilisation de cr\u00e9ances": { + "account_number": "5197" + }, + "Int\u00e9r\u00eats courus sur concours bancaires courants": { + "account_number": "5198" + } + } + }, + "Instruments de tr\u00e9sorerie": { + "account_number": "52" + }, + "53-Caisse": { + "account_type": "Cash", + "Caisse": { + "account_type": "Cash", + "account_number": "530" + } + }, + "R\u00e9gies d'avance et accr\u00e9ditifs": { + "account_number": "54" + }, + "Virements internes": { + "account_number": "58" + }, + "59-D\u00e9pr\u00e9ciations des comptes financiers": { + "590-D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { + "Actions": { + "account_number": "5903" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "5904" + }, + "Obligations": { + "account_number": "5906" + }, + "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { + "account_number": "5908" + } + } + } + }, + "6-Comptes de charges": { + "root_type": "Expense", + "60-Achats (sauf 603)": { + "601-Achats stock\u00e9s - approvisionnements": { + "account_type": "Cost of Goods Sold", + "Engrais et amendements": { + "account_number": "6011" + }, + "Semences et plants": { + "account_number": "6012" + }, + "Produits de d\u00e9fense des v\u00e9g\u00e9taux": { + "account_number": "6013" + }, + "Aliments du b\u00e9tail": { + "account_number": "6014" + }, + "Produits de d\u00e9fense des animaux": { + "account_number": "6015" + }, + "Produits de reproduction animale": { + "account_number": "6016" + }, + "6017-Emballages": { + "account_type": "Cost of Goods Sold", + "Emballages perdus": { + "account_type": "Cost of Goods Sold", + "account_number": "60171" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_type": "Cost of Goods Sold", + "account_number": "60172" + }, + "Emballages \u00e0 usage mixte": { + "account_type": "Cost of Goods Sold", + "account_number": "60173" + } + }, + "Combustibles": { + "account_number": "6018" + } + }, + "602-Achats stock\u00e9s - Autres approvisionnements": { + "Carburants et lubrifiants": { + "account_type": "Cost of Goods Sold", + "account_number": "6021" + }, + "Produits d'entretien": { + "account_type": "Cost of Goods Sold", + "account_number": "6022" + }, + "Fournitures d'atelier et de magasin": { + "account_type": "Cost of Goods Sold", + "account_number": "6023" + }, + "Fournitures de bureau": { + "account_type": "Cost of Goods Sold", + "account_number": "6024" + }, + "Denr\u00e9es et fournitures pour le personnel": { + "account_type": "Cost of Goods Sold", + "account_number": "6025" + }, + "Mat\u00e9riaux divers": { + "account_type": "Cost of Goods Sold", + "account_number": "6026" + }, + "Autres fournitures consommables": { + "account_type": "Cost of Goods Sold", + "account_number": "6027" + }, + "Mati\u00e8res premi\u00e8res": { + "account_type": "Cost of Goods Sold", + "account_number": "6028" + } + }, + "603-Variations des stocks (approvisionnements et marchandises)": { + "account_type": "Stock Adjustment", + "Variation des stocks d'approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6031" + }, + "Variation des stocks d'autres approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6032" + }, + "Variation des stocks de marchandises": { + "account_type": "Stock Adjustment", + "account_number": "6037" + } + }, + "604-Achats d'animaux": { + "Animaux reproducteurs (adultes)": { + "account_number": "6041" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "6042" + }, + "Autres animaux": { + "account_number": "6045" + } + }, + "605-Achats de travaux et services incorpor\u00e9s aux produits": { + "Achats de travaux et services incorpor\u00e9s pour productions v\u00e9g\u00e9tales": { + "account_number": "6051" + }, + "Achats de travaux et services incorpor\u00e9s pour productions animales": { + "account_number": "6054" + }, + "Autres achats de travaux et services": { + "account_number": "6058" + } + }, + "606-Achats non stock\u00e9s et fournitures": { + "account_type": "Cost of Goods Sold", + "Eau": { + "account_type": "Cost of Goods Sold", + "account_number": "6061" + }, + "Gaz": { + "account_type": "Cost of Goods Sold", + "account_number": "6062" + }, + "Electricit\u00e9s": { + "account_type": "Cost of Goods Sold", + "account_number": "6063" + }, + "Carburants et lubrifiants": { + "account_type": "Cost of Goods Sold", + "account_number": "6064" + }, + "Eau d'irrigation": { + "account_type": "Cost of Goods Sold", + "account_number": "6065" + }, + "Fournitures d'entretien et de petit \u00e9quipement": { + "account_type": "Cost of Goods Sold", + "account_number": "6066" + }, + "Fournitures pour productions immobilis\u00e9es": { + "account_type": "Cost of Goods Sold", + "account_number": "6067" + }, + "Autres fournitures non stock\u00e9s": { + "account_type": "Cost of Goods Sold", + "account_number": "6068" + } + }, + "607-Achats de marchandises": { + "account_type": "Cost of Goods Sold", + "Marchandises": { + "account_type": "Cost of Goods Sold", + "account_number": "6071" + }, + "Éco-contribution": { + "account_type": "Expense Account", + "account_number": "6079" + } + }, + "Frais accessoires sur achats": { + "account_number": "608", + "account_type": "Expenses Included In Valuation" + }, + "609-Rabais, remises et ristournes obtenus sur achats": { + "RRR sur achats d'autres approvisionnements": { + "account_number": "6091" + }, + "RRR sur achats d'approvisionnements": { + "account_number": "6092" + }, + "RRR sur achats d'animaux": { + "account_number": "6094" + }, + "RRR sur achats de travaux et services incorpor\u00e9s aux produits": { + "account_number": "6095" + }, + "RRR sur achats de fournitures non stock\u00e9s": { + "account_number": "6096" + }, + "RRR sur achats de marchandises": { + "account_number": "6097" + }, + "Rabais, remises et ristournes non affect\u00e9s": { + "account_number": "6098" + } + } + }, + "61-Services ext\u00e9rieurs": { + "Sous-traitance g\u00e9n\u00e9rale": { + "account_number": "611" + }, + "612-Redevances de cr\u00e9dit-bail": { + "Redevances de cr\u00e9dit-bail mobilier": { + "account_number": "6122" + }, + "Redevances de cr\u00e9dit-bail immobilier": { + "account_number": "6125" + } + }, + "613-Locations": { + "Fermages et loyers du foncier": { + "account_number": "6131" + }, + "Locations de mat\u00e9riel": { + "account_number": "6132" + }, + "Locations d'animaux": { + "account_number": "6134" + }, + "Malis sur emballages": { + "account_number": "6136" + }, + "Autres locations": { + "account_number": "6138" + } + }, + "614-Charges locatives et de copropri\u00e9t\u00e9": { + "Charges locatives du foncier": { + "account_number": "6141" + }, + "Charges locatives du mat\u00e9riel": { + "account_number": "6142" + }, + "Charges locatives des animaux": { + "account_number": "6144" + }, + "Autres charges locatives et de copropri\u00e9t\u00e9": { + "account_number": "6148" + } + }, + "615-Entretien et r\u00e9parations": { + "Terrains": { + "account_number": "6151" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "6152" + }, + "Constructions (sur sol propre)": { + "account_number": "6153" + }, + "Constructions (sur sol d'autrui)": { + "account_number": "6154" + }, + "Installations techniques, mat\u00e9riel et outillage": { + "account_number": "6155" + }, + "Plantations p\u00e9rennes": { + "account_number": "6156" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "6157" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_number": "6158" + } + }, + "616-Primes d'assurances": { + "Multirisques": { + "account_number": "6161" + }, + "Assurance obligatoire dommage construction": { + "account_number": "6162" + }, + "Assurance - transport (sur achats)": { + "account_number": "6163" + }, + "Assurance - transport (sur ventes)": { + "account_number": "6164" + }, + "Assurance - transport (sur autres biens)": { + "account_number": "6165" + }, + "Risques d'exploitation": { + "account_number": "6166" + }, + "Insolvabilit\u00e9 clients": { + "account_number": "6167" + }, + "Autres": { + "account_number": "6168" + } + }, + "Etudes et recherches": { + "account_number": "617" + }, + "618-Divers": { + "Documentation g\u00e9n\u00e9rale": { + "account_number": "6181" + }, + "Documentation technique": { + "account_number": "6183" + }, + "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { + "account_number": "6185" + } + }, + "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { + "account_number": "619" + } + }, + "62-Autres services ext\u00e9rieurs": { + "621-Personnel ext\u00e9rieur \u00e0 l'entreprise": { + "Personnel int\u00e9rimaire": { + "account_number": "6211" + }, + "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entreprise": { + "account_number": "6214" + } + }, + "622-R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { + "Commissions et courtages sur achats": { + "account_number": "6221" + }, + "Commissions et courtages sur ventes": { + "account_number": "6222" + }, + "R\u00e9mun\u00e9rations des transitaires": { + "account_number": "6223" + }, + "R\u00e9mun\u00e9rations d'affacturage": { + "account_number": "6224" + }, + "Honoraires v\u00e9t\u00e9rinaires": { + "account_number": "6225" + }, + "Autres honoraires": { + "account_number": "6226" + }, + "Frais d'actes et de contentieux": { + "account_number": "6227" + }, + "Divers": { + "account_number": "6228" + } + }, + "623-Publicit\u00e9, publications, relations publiques": { + "Annonces et insertions": { + "account_number": "6231" + }, + "Echantillons": { + "account_number": "6232" + }, + "Emplacements foires et expositions": { + "account_number": "6233" + }, + "Cadeaux \u00e0 la client\u00e8le": { + "account_number": "6234" + }, + "Primes": { + "account_number": "6235" + }, + "Catalogues et imprim\u00e9s": { + "account_number": "6236" + }, + "Publications": { + "account_number": "6237" + }, + "Divers (pourboire, dons courants, etc)": { + "account_number": "6238" + } + }, + "624-Transports de biens et transports collectifs du personnel": { + "Transports sur achats": { + "account_number": "6241", + "account_type": "Chargeable" + }, + "Transports sur ventes": { + "account_type": "Chargeable", + "account_number": "6242" + }, + "Transports entre \u00e9tablissements ou chantiers": { + "account_number": "6243" + }, + "Transports administratifs": { + "account_number": "6244" + }, + "Transports collectifs du personnel": { + "account_number": "6247" + }, + "Autres transports": { + "account_number": "6248" + } + }, + "625-D\u00e9placements, missions et r\u00e9ceptions": { + "Voyages et d\u00e9placements": { + "account_number": "6251" + }, + "Frais de d\u00e9m\u00e9nagement": { + "account_number": "6255" + }, + "Missions": { + "account_number": "6256" + }, + "R\u00e9ceptions": { + "account_number": "6257" + } + }, + "Frais postaux et de t\u00e9l\u00e9communications": { + "account_number": "626" + }, + "627-Services bancaires et assimil\u00e9s": { + "Frais sur titres (achat, vente, garde)": { + "account_number": "6271" + }, + "Commissions et frais sur \u00e9mission d'emprunts": { + "account_number": "6272" + }, + "Frais sur effets (commissions d'endos\u2026)": { + "account_number": "6275" + }, + "Location de coffres": { + "account_number": "6276" + }, + "Autres frais et commissions sur prestations de services": { + "account_number": "6278" + } + }, + "628-Divers": { + "Cotisations professionnelles (productions animales)": { + "account_number": "6281" + }, + "Cotisations professionnelles (productions v\u00e9g\u00e9tales)": { + "account_number": "6284" + }, + "Autres cotisations professionnelles": { + "account_number": "6286" + }, + "Frais de recrutement de personnel": { + "account_number": "6287" + }, + "Autres services ext\u00e9rieurs divers": { + "account_number": "6288" + } + }, + "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { + "account_number": "629" + } + }, + "63-Imp\u00f4ts, taxes et versements assimil\u00e9s": { + "631-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { + "Taxe sur les salaires": { + "account_number": "6311" + }, + "Taxe d'apprentissage": { + "account_number": "6312" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6313" + }, + "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { + "account_number": "6314" + }, + "Autres": { + "account_number": "6318" + } + }, + "633-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { + "Versement de transport": { + "account_number": "6331" + }, + "Allocations logement": { + "account_number": "6332" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6333" + }, + "Participation des employeurs \u00e0 l'effort de construction": { + "account_number": "6334" + }, + "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'exon\u00e9ration de la taxe d'apprentissage": { + "account_number": "6335" + }, + "Autres": { + "account_number": "6338" + } + }, + "634-Taxes sp\u00e9cifiques sur les produits de l'exploitation": { + "Taxes sp\u00e9cifiques sur les produits v\u00e9g\u00e9taux": { + "account_number": "6341" + }, + "Taxes sp\u00e9cifiques sur les produits animaux": { + "account_number": "6342" + }, + "Taxes sp\u00e9cifiques sur les produits transform\u00e9s": { + "account_number": "6343" + }, + "Taxes sp\u00e9cifiques sur les animaux": { + "account_number": "6344" + }, + "P\u00e9nalit\u00e9s sur productions": { + "account_number": "6345" + }, + "Taxes sp\u00e9cifiques sur autres produits": { + "account_number": "6348" + } + }, + "635-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { + "Taxe professionnelle": { + "account_number": "6351" + }, + "Taxes fonci\u00e8res": { + "account_number": "6352" + }, + "Autres imp\u00f4ts locaux": { + "account_number": "6353" + }, + "Autres imp\u00f4ts directs (sauf imp\u00f4ts sur les soci\u00e9t\u00e9s)": { + "account_number": "6354" + }, + "Taxe sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { + "account_number": "6355" + }, + "Imp\u00f4ts indirects": { + "account_number": "6356" + }, + "Droits d'enregistrement et de timbre": { + "account_number": "6357" + }, + "Autres droits": { + "account_number": "6358" + } + }, + "637-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { + "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { + "account_number": "6371" + }, + "Taxes per\u00e7ues par les organismes publics internationaux": { + "account_number": "6372" + }, + "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { + "account_number": "6374" + }, + "Taxes diverses": { + "account_number": "6378" + } + } + }, + "64-Charges de personnel": { + "641-R\u00e9mun\u00e9rations du personnel": { + "6411-Salaires (personnel salari\u00e9)": { + "Personnel permanent ou r\u00e9gulier": { + "account_number": "64111" + }, + "Personnel temporaire ou occasionnel": { + "account_number": "64115" + } + }, + "R\u00e9mun\u00e9rations (associ\u00e9s d'exploitation)": { + "account_number": "6412" + }, + "R\u00e9mun\u00e9rations (administrateurs, g\u00e9rants, associ\u00e9s)": { + "account_number": "6413" + }, + "Cong\u00e9s pay\u00e9s": { + "account_number": "6415" + }, + "Primes et gratifications": { + "account_number": "6416" + }, + "Indemnit\u00e9s et avantages en esp\u00e8ces divers": { + "account_number": "6417" + }, + "Avantages en nature": { + "account_number": "6418" + } + }, + "R\u00e9mun\u00e9ration du travail de l'exploitant": { + "account_number": "644" + }, + "645-Charges de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { + "Cotisations \u00e0 la Mutualit\u00e9 Sociale Agricole": { + "account_number": "6451" + }, + "Cotisations aux mutuelles": { + "account_number": "6452" + }, + "Cotisations aux caisses de retraites": { + "account_number": "6453" + }, + "Cotisations aux caisses de ch\u00f4mages": { + "account_number": "6454" + }, + "Cotisations aux autres organismes sociaux": { + "account_number": "6458" + } + }, + "Cotisations sociales personnelles de l'exploitant": { + "account_number": "646" + }, + "647-Autres charges sociales": { + "Versements aux comit\u00e9s d'entreprise et d'\u00e9tablissement": { + "account_number": "6472" + }, + "Versements aux autres \u0153uvres sociales": { + "account_number": "6474" + }, + "M\u00e9decine du travail, pharmacie": { + "account_number": "6475" + }, + "Autres charges sociales diverses": { + "account_number": "6478" + } + }, + "Autres charges de personnel": { + "account_number": "648" + } + }, + "65-Autres charges de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "651" + }, + "Jetons de pr\u00e9sence": { + "account_number": "653" + }, + "654-Pertes sur cr\u00e9ances irr\u00e9couvrables": { + "Cr\u00e9ances de l'exercice": { + "account_number": "6541" + }, + "Cr\u00e9ances des exercices ant\u00e9rieurs": { + "account_number": "6544" + } + }, + "655-Quotes-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "6551" + }, + "Quote-part de perte support\u00e9e (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { + "account_number": "6555" + } + }, + "656-Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s (cessions courantes)": { + "Animaux reproducteurs adultes": { + "account_number": "6561" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "6562" + } + }, + "Charges diverses de gestion courante": { + "account_number": "658" + } + }, + "66-Charges financi\u00e8res": { + "661-Charges d'int\u00e9r\u00eats": { + "Int\u00e9r\u00eats des emprunts fonciers": { + "account_number": "6611" + }, + "Int\u00e9r\u00eats des autres emprunts \u00e0 moyen et long terme": { + "account_number": "6612" + }, + "Int\u00e9r\u00eats des emprunts \u00e0 court terme": { + "account_number": "6613" + }, + "Int\u00e9r\u00eats des cr\u00e9dits bancaires de campagne": { + "account_number": "6614" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles": { + "account_number": "6615" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 d'autres participations": { + "account_number": "6616" + }, + "Int\u00e9r\u00eats du cr\u00e9dit fournisseur": { + "account_number": "6617" + }, + "6618-Autres charges d'int\u00e9r\u00eat": { + "Autres int\u00e9r\u00eats bancaires": { + "account_number": "66181" + }, + "Int\u00e9r\u00eats des comptes courants et d\u00e9p\u00f4ts cr\u00e9diteurs": { + "account_number": "66182" + }, + "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { + "account_number": "66183" + }, + "Int\u00e9r\u00eats des autres dettes": { + "account_number": "66188" + } + } + }, + "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { + "account_number": "664" + }, + "Escomptes accord\u00e9s": { + "account_number": "665" + }, + "Pertes de change": { + "account_type": "Round Off", + "account_number": "666" + }, + "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "667" + }, + "Autres charges financi\u00e8res": { + "account_number": "668" + } + }, + "67-Charges exceptionnelles": { + "671-Charges exceptionnelles sur op\u00e9rations de gestion": { + "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { + "account_number": "6711" + }, + "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { + "account_number": "6712" + }, + "Dons, lib\u00e9ralit\u00e9s": { + "account_number": "6713" + }, + "Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": { + "account_number": "6714" + }, + "Subventions accord\u00e9es": { + "account_number": "6715" + }, + "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "6717" + }, + "Autres charges exceptionnelles sur op\u00e9rations de gestion": { + "account_number": "6718" + } + }, + "Charges sur exercices ant\u00e9rieurs": { + "account_number": "672" + }, + "673-Charges exeptionnelles relatives aux p\u00e9nalit\u00e9s statutaires": { + "Indemnit\u00e9s compensatrices": { + "account_number": "6731" + }, + "P\u00e9nalit\u00e9s subies en tant qu'associ\u00e9 d\u00e9faillant": { + "account_number": "6733" + }, + "Frais de poursuite": { + "account_number": "6735" + } + }, + "675-Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s": { + "Immobilisations incorporelles": { + "account_number": "6751" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "6752" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "6754" + }, + "Immobilisations financi\u00e8res": { + "account_number": "6756" + } + }, + "678-Autres charges exceptionnelles": { + "Malis provenant de clauses d'indexation": { + "account_number": "6781" + }, + "Lots": { + "account_number": "6782" + }, + "Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elle-m\u00eame": { + "account_number": "6783" + }, + "Charges exceptionnelles diverses": { + "account_number": "6788" + } + } + }, + "68-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions": { + "account_type": "Depreciation", + "681-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges d'exploitation": { + "account_type": "Depreciation", + "6811-Dotations aux amortissements sur immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68111" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_type": "Depreciation", + "account_number": "68112" + }, + "Immobilisations corporelles (biens vivants)": { + "account_type": "Depreciation", + "account_number": "68114" + } + }, + "Dotations aux amortissements des charges d'exploitation \u00e0 r\u00e9partir": { + "account_type": "Depreciation", + "account_number": "6812" + }, + "Dotations aux provisions d'exploitation": { + "account_type": "Depreciation", + "account_number": "6815" + }, + "6816-Dotations pour d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68161" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_type": "Depreciation", + "account_number": "68162" + }, + "Immobilisations corporelles (biens vivants)": { + "account_type": "Depreciation", + "account_number": "68164" + } + }, + "6817-Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { + "account_type": "Depreciation", + "Stocks et en-cours": { + "account_type": "Depreciation", + "account_number": "68173" + }, + "Cr\u00e9ances": { + "account_type": "Depreciation", + "account_number": "68174" + } + } + }, + "686-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges financi\u00e8res": { + "account_type": "Depreciation", + "Dotations aux amortissements des primes de remboursement des obligations": { + "account_type": "Depreciation", + "account_number": "6861" + }, + "Dotations aux provisions financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "6865" + }, + "6866-Dotations pour d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "account_type": "Depreciation", + "Immobilisations financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "68662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_type": "Depreciation", + "account_number": "68665" + } + }, + "Autres dotations": { + "account_type": "Depreciation", + "account_number": "6868" + } + }, + "687-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges exceptionnelles": { + "account_type": "Depreciation", + "Dotations aux amortissements exceptionnels des immobilisations": { + "account_type": "Depreciation", + "account_number": "6871" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { + "account_type": "Depreciation", + "Amortissements d\u00e9rogatoires": { + "account_type": "Depreciation", + "account_number": "68725" + } + }, + "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { + "account_type": "Depreciation", + "account_number": "6873" + }, + "Dotations aux autres provisions r\u00e9glement\u00e9es": { + "account_type": "Depreciation", + "account_number": "6874" + }, + "Dotations aux provisions exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6875" + }, + "Dotations pour d\u00e9pr\u00e9ciations exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6876" + } + } + }, + "69-Participation des salari\u00e9s - Imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { + "Participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "691" + }, + "695-Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "Imp\u00f4ts dus en France": { + "account_number": "6951" + }, + "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { + "account_number": "6954" + } + }, + "Imposition forfaitaire annuelle des soci\u00e9t\u00e9s": { + "account_number": "697" + }, + "698-Int\u00e9gration fiscale": { + "Int\u00e9gration fiscale - Charges": { + "account_number": "6981" + }, + "Int\u00e9gration fiscale - Produits": { + "account_number": "6982" + } + }, + "Produits - Reports en arri\u00e8re des d\u00e9ficits": { + "account_number": "699" + } + } + }, + "7-Comptes de produits": { + "root_type": "Income", + "70-Ventes": { + "Ventes de produits v\u00e9g\u00e9taux": { + "account_number": "701" + }, + "Ventes de produits animaux": { + "account_number": "702" + }, + "Ventes de produits transform\u00e9s": { + "account_number": "703" + }, + "704-Ventes d'animaux": { + "Animaux reproducteurs (adultes)": { + "account_number": "7041" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7042" + }, + "Autres animaux": { + "account_number": "7045" + } + }, + "Ventes de produits r\u00e9siduels": { + "account_number": "705" + }, + "Travaux \u00e0 fa\u00e7on": { + "account_number": "706" + }, + "707-Ventes de marchandises": { + "Marchandises": { + "account_number": "7071" + }, + "Éco-participation": { + "account_type": "Income Account", + "account_number": "7079" + } + }, + "708-Produits des activit\u00e9s annexes": { + "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { + "account_number": "7081" + }, + "Commissions et courtages": { + "account_number": "7082" + }, + "Locations diverses": { + "account_number": "7083" + }, + "Prestations de services \u00e0 caract\u00e8re accessoire": { + "account_number": "7084" + }, + "Ports et frais accessoires factur\u00e9s": { + "account_number": "7085" + }, + "Bonis sur reprises d'emballages consign\u00e9s": { + "account_number": "7086" + }, + "Bonifications obtenues des clients et primes sur ventes": { + "account_number": "7087" + }, + "Autres produits d'activit\u00e9s annexes": { + "account_number": "7088" + } + }, + "709-Rabais, remises et ristournes accord\u00e9s par l'entreprise": { + "RRR sur ventes de produits v\u00e9g\u00e9taux": { + "account_number": "7091" + }, + "RRR sur ventes de produits animaux": { + "account_number": "7092" + }, + "RRR sur ventes de produits transform\u00e9s": { + "account_number": "7093" + }, + "RRR sur ventes d'animaux": { + "account_number": "7094" + }, + "RRR sur ventes de produits r\u00e9siduels": { + "account_number": "7095" + }, + "RRR sur travaux \u00e0 fa\u00e7on": { + "account_number": "7096" + }, + "RRR sur ventes de marchandises": { + "account_number": "7097" + }, + "RRR sur produits des activit\u00e9s annexes": { + "account_number": "7098" + } + } + }, + "71-Variation d'inventaire (biens vivants, en-cours de production de biens et services, produits)": { + "712-Variation d'inventaire : animaux reproducteurs immobilis\u00e9s": { + "Animaux reproducteurs (adultes)": { + "account_number": "7121" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7122" + } + }, + "713-Variation d'inventaire : biens vivants non immobilis\u00e9s, en-cours de production de biens et services, produits": { + "Animaux (cycle long)": { + "account_number": "7131" + }, + "Animaux (cycle court)": { + "account_number": "7132" + }, + "V\u00e9g\u00e9taux en terre (cycle long)": { + "account_number": "7133" + }, + "V\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "7134" + }, + "En-cours de production de biens et services (cycle long)": { + "account_number": "7135" + }, + "En-cours de production de biens et services (cycle court)": { + "account_number": "7136" + }, + "Produits": { + "account_number": "7137" + } + } + }, + "72-Production immobilis\u00e9e et autoconsomm\u00e9e": { + "Production immobilis\u00e9e - Immobilisations incorporelles": { + "account_number": "721" + }, + "Production immobilis\u00e9e - Immobilisations corporelles (hors biens vivants)": { + "account_number": "722" + }, + "Production immobilis\u00e9e - Immobilisations corporelles (biens vivants)": { + "account_number": "724" + }, + "Production autoconsomm\u00e9e": { + "account_number": "726" + } + }, + "74-Indemnit\u00e9s et Subventions d'exploitation": { + "Remboursement forfaitaire de TVA": { + "account_number": "741" + }, + "Indemnit\u00e9s d'assurance (exploitation)": { + "account_number": "742" + }, + "Indemnit\u00e9s du Fond national de garantie des calamit\u00e9s agricoles": { + "account_number": "743" + }, + "Autres indemnit\u00e9s d'exploitation": { + "account_number": "744" + }, + "745-Subventions d'exploitation": { + "Subventions aux produits v\u00e9g\u00e9taux": { + "account_number": "7451" + }, + "Subventions aux structures (et jach\u00e8res)": { + "account_number": "7452" + }, + "Subventions au revenu": { + "account_number": "7453" + }, + "Subventions aux animaux": { + "account_number": "7454" + }, + "Autres subventions d'exploitation": { + "account_number": "7458" + } + } + }, + "75-Autres produits de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "751" + }, + "Revenus des immeubles non affect\u00e9s \u00e0 des activit\u00e9s professionnelles": { + "account_number": "752" + }, + "Jetons de pr\u00e9sence, r\u00e9mun\u00e9rations et indemnit\u00e9s d'administrateurs, etc": { + "account_number": "753" + }, + "Ristournes per\u00e7ues des coop\u00e9ratives agricoles (provenant des exc\u00e9dents)": { + "account_number": "754" + }, + "755-Quote-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "7551" + }, + "Quote-part de b\u00e9n\u00e9fice attribu\u00e9e (comptabilit\u00e9 des associ\u00e9s non - g\u00e9rants)": { + "account_number": "7555" + } + }, + "756-Produits des cessions courantes d'\u00e9l\u00e9ments d'actif": { + "Animaux reproducteurs adultes": { + "account_number": "7561" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7562" + } + }, + "Produits divers de gestion courante": { + "account_number": "758" + } + }, + "76-Produits financiers": { + "761-Produits de participations": { + "Revenus des titres de participation": { + "account_number": "7611" + }, + "Revenus des participations \u00e0 des organismes professionnels agricoles": { + "account_number": "7612" + }, + "Revenus sur autres formes de participation": { + "account_number": "7616" + }, + "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "7617" + } + }, + "762-Produits des autres immobilisations financi\u00e8res": { + "Revenus des titres immobilis\u00e9s": { + "account_number": "7621" + }, + "Revenus des pr\u00eats": { + "account_number": "7626" + }, + "Revenus des cr\u00e9ances immobilis\u00e9es": { + "account_number": "7627" + } + }, + "763-Revenus des autres cr\u00e9ances": { + "Revenus des cr\u00e9ances commerciales": { + "account_number": "7631" + }, + "Revenus des cr\u00e9ances diverses": { + "account_number": "7638" + } + }, + "Revenus des valeurs mobili\u00e8res de placement": { + "account_number": "764" + }, + "Escomptes obtenus": { + "account_number": "765" + }, + "Gains de change": { + "account_type": "Round Off", + "account_number": "766" + }, + "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "767" + }, + "Autres produits financiers": { + "account_number": "768" + } + }, + "77-Produits exceptionnels": { + "771-Produits exceptionnels sur op\u00e9rations de gestion": { + "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": { + "account_number": "7711" + }, + "Lib\u00e9ralit\u00e9s re\u00e7ues": { + "account_number": "7713" + }, + "Rentr\u00e9es sur cr\u00e9ances amorties": { + "account_number": "7714" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "7715" + }, + "D\u00e9gr\u00e8vements d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "7717" + }, + "Autres produits exceptionnels sur op\u00e9rations de gestion": { + "account_number": "7718" + } + }, + "Produits sur exercices ant\u00e9rieurs": { + "account_number": "772" + }, + "775-Produits des cessions d'\u00e9l\u00e9ments d'actif": { + "Immobilisations incorporelles": { + "account_number": "7751" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "7752" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "7754" + }, + "Immobilisations financi\u00e8res": { + "account_number": "7756" + } + }, + "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { + "account_number": "777" + }, + "778-Autres produits exceptionnels": { + "Bonis provenant de clauses d'indexation": { + "account_number": "7781" + }, + "Lots": { + "account_number": "7782" + }, + "Bonis provenant du rachat par l'entreprise de titres \u00e9mis par elle - m\u00eame": { + "account_number": "7783" + }, + "Produits exceptionnels divers": { + "account_number": "7788" + } + } + }, + "78-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { + "781-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { + "7811-Reprises sur amortissements des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78111" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "78112" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "78114" + } + }, + "Reprises sur provisions d'exploitation": { + "account_number": "7815" + }, + "7816-Reprises sur d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78161" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "78162" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "78164" + } + }, + "7817-Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { + "Stocks et en-cours": { + "account_number": "78173" + }, + "Cr\u00e9ances": { + "account_number": "78174" + } + } + }, + "786-Reprises sur d\u00e9pr\u00e9ciations et sur provisions (\u00e0 inscrire dans les produits financiers)": { + "Reprises sur provisions financi\u00e8res": { + "account_number": "7865" + }, + "7866-Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "Immobilisations financi\u00e8res": { + "account_number": "78662" + }, + "Valeurs mobili\u00e8res de placements": { + "account_number": "78665" + } + } + }, + "787-Reprises sur d\u00e9pr\u00e9ciations et sur provisions (\u00e0 inscrire dans les produits exceptionnels)": { + "7872-Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { + "Amortissements d\u00e9rogatoires": { + "account_number": "78725" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "78726" + }, + "Plus-values r\u00e9investies": { + "account_number": "78727" + } + }, + "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { + "account_number": "7873" + }, + "Reprises sur autres provisions r\u00e9glement\u00e9es": { + "account_number": "7874" + }, + "Reprises sur provisions exceptionnelles": { + "account_number": "7875" + }, + "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { + "account_number": "7876" + } + } + }, + "79-Transferts de charges": { + "Transferts de charges d'exploitation": { + "account_number": "791" + }, + "Transferts de charges financi\u00e8res": { + "account_number": "796" + }, + "Transferts de charges exceptionnelles": { + "account_number": "797" + } + } + } + } +} \ No newline at end of file diff --git a/erpnext/accounts/doctype/account/test_account.py b/erpnext/accounts/doctype/account/test_account.py index 6deff1ac3e6..80ccc549d75 100644 --- a/erpnext/accounts/doctype/account/test_account.py +++ b/erpnext/accounts/doctype/account/test_account.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py index 769522e2642..f14e7d2b21d 100644 --- a/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py +++ b/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py b/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py index 6eff320e3a3..ba9ed229694 100644 --- a/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py +++ b/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py @@ -3,7 +3,7 @@ import frappe -from frappe import _, scrub +from frappe import _ from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/accounting_period/test_accounting_period.py b/erpnext/accounts/doctype/accounting_period/test_accounting_period.py index 1dde96c223d..d8ad730a960 100644 --- a/erpnext/accounts/doctype/accounting_period/test_accounting_period.py +++ b/erpnext/accounts/doctype/accounting_period/test_accounting_period.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json index 2b741136f96..c77750cf9f0 100644 --- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json +++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json @@ -281,7 +281,7 @@ }, { "default": "0", - "description": "Learn about Common Party", + "description": "Learn about Common Party", "fieldname": "enable_common_party_accounting", "fieldtype": "Check", "label": "Enable Common Party Accounting" diff --git a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py index e555f0ded15..ba7bbe91386 100644 --- a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py +++ b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank/test_bank.py b/erpnext/accounts/doctype/bank/test_bank.py index 98e83fd5837..6aa57089ddd 100644 --- a/erpnext/accounts/doctype/bank/test_bank.py +++ b/erpnext/accounts/doctype/bank/test_bank.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_account/test_bank_account.py b/erpnext/accounts/doctype/bank_account/test_bank_account.py index 146f426e6c7..70cb8afc267 100644 --- a/erpnext/accounts/doctype/bank_account/test_bank_account.py +++ b/erpnext/accounts/doctype/bank_account/test_bank_account.py @@ -1,9 +1,6 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest -import frappe -from frappe import ValidationError from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py b/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py index d4a6c689bc3..a8ab617ff41 100644 --- a/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py +++ b/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py b/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py index 0d41686da59..ad7647a41fa 100644 --- a/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py +++ b/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py index 231e9cdf522..5a8b7e36243 100644 --- a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py +++ b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py @@ -6,7 +6,7 @@ import frappe from frappe import _, msgprint from frappe.model.document import Document from frappe.query_builder.custom import ConstantColumn -from frappe.utils import cint, flt, fmt_money, get_link_to_form, getdate +from frappe.utils import cint, flt, fmt_money, getdate from pypika import Order import erpnext diff --git a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py index dda65594554..3416a4e78a4 100644 --- a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py +++ b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py @@ -1,6 +1,5 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py b/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py index eaf55ce7708..7aee2ccb6ff 100644 --- a/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py +++ b/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py index 0a291d3668e..9371148e256 100644 --- a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py +++ b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py @@ -14,7 +14,6 @@ import openpyxl from frappe import _ from frappe.core.doctype.data_import.data_import import DataImport from frappe.core.doctype.data_import.importer import Importer, ImportFile -from frappe.query_builder.functions import Count from frappe.utils.background_jobs import enqueue from frappe.utils.file_manager import get_file, save_file from frappe.utils.xlsxutils import ILLEGAL_CHARACTERS_RE, handle_html diff --git a/erpnext/accounts/doctype/budget/budget.py b/erpnext/accounts/doctype/budget/budget.py index 39528da99db..8a8a7f7b1ef 100644 --- a/erpnext/accounts/doctype/budget/budget.py +++ b/erpnext/accounts/doctype/budget/budget.py @@ -2,14 +2,12 @@ # For license information, please see license.txt -from datetime import date - import frappe from frappe import _ from frappe.model.document import Document from frappe.query_builder.functions import Sum -from frappe.utils import add_months, flt, fmt_money, get_last_day, getdate, month_diff -from frappe.utils.data import get_first_day, nowdate +from frappe.utils import add_months, flt, fmt_money, get_last_day, getdate +from frappe.utils.data import get_first_day from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( get_accounting_dimensions, diff --git a/erpnext/accounts/doctype/budget/test_budget.py b/erpnext/accounts/doctype/budget/test_budget.py index ba9b4c04e08..866f9cb322d 100644 --- a/erpnext/accounts/doctype/budget/test_budget.py +++ b/erpnext/accounts/doctype/budget/test_budget.py @@ -1,10 +1,8 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe -from frappe.client import submit -from frappe.utils import add_days, flt, get_first_day, get_last_day, getdate, now_datetime, nowdate +from frappe.utils import flt, now_datetime, nowdate from erpnext.accounts.doctype.budget.budget import ( BudgetError, diff --git a/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py b/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py index 56cf2b53919..2852caeca1c 100644 --- a/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py +++ b/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py b/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py index 214de348169..fab0808e1d1 100644 --- a/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py +++ b/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py b/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py index b7ee19d4422..c46a1c73aff 100644 --- a/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py +++ b/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/cost_center/test_cost_center.py b/erpnext/accounts/doctype/cost_center/test_cost_center.py index 375541a3960..87b4acaefcf 100644 --- a/erpnext/accounts/doctype/cost_center/test_cost_center.py +++ b/erpnext/accounts/doctype/cost_center/test_cost_center.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/cost_center_allocation/test_cost_center_allocation.py b/erpnext/accounts/doctype/cost_center_allocation/test_cost_center_allocation.py index 680e2113ec1..449730bc8c3 100644 --- a/erpnext/accounts/doctype/cost_center_allocation/test_cost_center_allocation.py +++ b/erpnext/accounts/doctype/cost_center_allocation/test_cost_center_allocation.py @@ -1,6 +1,5 @@ # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.query_builder.functions import Sum diff --git a/erpnext/accounts/doctype/coupon_code/test_coupon_code.py b/erpnext/accounts/doctype/coupon_code/test_coupon_code.py index ce57a27a536..d8e134b8502 100644 --- a/erpnext/accounts/doctype/coupon_code/test_coupon_code.py +++ b/erpnext/accounts/doctype/coupon_code/test_coupon_code.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/currency_exchange_settings/test_currency_exchange_settings.py b/erpnext/accounts/doctype/currency_exchange_settings/test_currency_exchange_settings.py index 3097f72d628..202e674c552 100644 --- a/erpnext/accounts/doctype/currency_exchange_settings/test_currency_exchange_settings.py +++ b/erpnext/accounts/doctype/currency_exchange_settings/test_currency_exchange_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and contributors # For license information, please see license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/dunning_type/test_dunning_type.py b/erpnext/accounts/doctype/dunning_type/test_dunning_type.py index 5a95aa68ea9..ea176fbcf47 100644 --- a/erpnext/accounts/doctype/dunning_type/test_dunning_type.py +++ b/erpnext/accounts/doctype/dunning_type/test_dunning_type.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/finance_book/test_finance_book.py b/erpnext/accounts/doctype/finance_book/test_finance_book.py index e2c156a1df5..f69ff2425a5 100644 --- a/erpnext/accounts/doctype/finance_book/test_finance_book.py +++ b/erpnext/accounts/doctype/finance_book/test_finance_book.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/financial_report_template/financial_report_template.py b/erpnext/accounts/doctype/financial_report_template/financial_report_template.py index 69ee7e4f7dd..fbafdf588cd 100644 --- a/erpnext/accounts/doctype/financial_report_template/financial_report_template.py +++ b/erpnext/accounts/doctype/financial_report_template/financial_report_template.py @@ -5,7 +5,6 @@ import os import shutil import frappe -from frappe import _ from frappe.model.document import Document from erpnext.accounts.doctype.account_category.account_category import import_account_categories diff --git a/erpnext/accounts/doctype/financial_report_template/financial_report_validation.py b/erpnext/accounts/doctype/financial_report_template/financial_report_validation.py index 306fb562585..9481023a311 100644 --- a/erpnext/accounts/doctype/financial_report_template/financial_report_validation.py +++ b/erpnext/accounts/doctype/financial_report_template/financial_report_validation.py @@ -1,18 +1,15 @@ # Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -import ast import json import re from abc import ABC, abstractmethod from dataclasses import dataclass, field -from enum import Enum -from typing import Any, ClassVar +from typing import Any import frappe from frappe import _ from frappe.database.operator_map import OPERATOR_MAP -from frappe.database.query import SQLFunctionParser @dataclass diff --git a/erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py b/erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py index 1a3ffc7ab61..c0b0816df70 100644 --- a/erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py +++ b/erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py @@ -5,13 +5,9 @@ import frappe from frappe.utils import flt from erpnext.accounts.doctype.financial_report_template.financial_report_engine import ( - AccountData, - DataCollector, DependencyResolver, FilterExpressionParser, - FinancialQueryBuilder, FormulaCalculator, - PeriodValue, ) from erpnext.accounts.doctype.financial_report_template.test_financial_report_template import ( FinancialReportTemplateTestCase, diff --git a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py index 22624e270aa..db08e80a0d1 100644 --- a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py +++ b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py index 11269f005db..7f204edd4ea 100644 --- a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.model.naming import parse_naming_series diff --git a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py index f34e2fd2434..a852ee3c8a3 100644 --- a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py +++ b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py b/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py index d5d8701fdc2..144d5661550 100644 --- a/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py +++ b/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py index 93b95d7c02e..ce435482ae5 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py @@ -184,6 +184,9 @@ class JournalEntry(AccountsController): else: return self._submit() + def before_cancel(self): + self.has_asset_adjustment_entry() + def cancel(self): if len(self.accounts) > 100: queue_submission(self, "_cancel") @@ -554,12 +557,27 @@ class JournalEntry(AccountsController): ) frappe.db.set_value("Journal Entry", self.name, "inter_company_journal_entry_reference", "") - def unlink_asset_adjustment_entry(self): - frappe.db.sql( - """ update `tabAsset Value Adjustment` - set journal_entry = null where journal_entry = %s""", - self.name, + def has_asset_adjustment_entry(self): + if self.flags.get("via_asset_value_adjustment"): + return + + asset_value_adjustment = frappe.db.get_value( + "Asset Value Adjustment", {"docstatus": 1, "journal_entry": self.name}, "name" ) + if asset_value_adjustment: + frappe.throw( + _( + "Cannot cancel this document as it is linked with the submitted Asset Value Adjustment {0}. Please cancel the Asset Value Adjustment to continue." + ).format(frappe.utils.get_link_to_form("Asset Value Adjustment", asset_value_adjustment)) + ) + + def unlink_asset_adjustment_entry(self): + AssetValueAdjustment = frappe.qb.DocType("Asset Value Adjustment") + ( + frappe.qb.update(AssetValueAdjustment) + .set(AssetValueAdjustment.journal_entry, None) + .where(AssetValueAdjustment.journal_entry == self.name) + ).run() def validate_party(self): for d in self.get("accounts"): diff --git a/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py b/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py index 95a287435ff..d1eb1acec84 100644 --- a/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py +++ b/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py index fd5001f97bc..c9fb000b539 100644 --- a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py +++ b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py @@ -1,6 +1,5 @@ # Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py b/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py index c085e6caf5e..6d6579d6ed4 100644 --- a/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py +++ b/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py index ee2a594f8f0..6099a7ec70a 100644 --- a/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py +++ b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py index 06c153940a8..9d6f2578639 100644 --- a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py +++ b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py @@ -1,8 +1,6 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest -import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/party_link/test_party_link.py b/erpnext/accounts/doctype/party_link/test_party_link.py index 1c93c65e3c3..a796de526a5 100644 --- a/erpnext/accounts/doctype/party_link/test_party_link.py +++ b/erpnext/accounts/doctype/party_link/test_party_link.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index 350e8b700a9..b0d754a3f23 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -12,7 +12,6 @@ from frappe.query_builder import Tuple from frappe.query_builder.functions import Count from frappe.utils import cint, comma_or, flt, getdate, nowdate from frappe.utils.data import comma_and, fmt_money, get_link_to_form -from pypika import Case from pypika.functions import Coalesce, Sum import erpnext diff --git a/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py index 030844e7148..655bd2d7d99 100644 --- a/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py +++ b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/payment_request/test_payment_request.py b/erpnext/accounts/doctype/payment_request/test_payment_request.py index 1f97b8b5784..26e2ee7c60f 100644 --- a/erpnext/accounts/doctype/payment_request/test_payment_request.py +++ b/erpnext/accounts/doctype/payment_request/test_payment_request.py @@ -2,7 +2,6 @@ # See license.txt import re -import unittest from unittest.mock import patch import frappe diff --git a/erpnext/accounts/doctype/payment_term/test_payment_term.py b/erpnext/accounts/doctype/payment_term/test_payment_term.py index 08f51cfb4e9..78c4a672476 100644 --- a/erpnext/accounts/doctype/payment_term/test_payment_term.py +++ b/erpnext/accounts/doctype/payment_term/test_payment_term.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py b/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py index fb0020f78ac..c8a43991a44 100644 --- a/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py +++ b/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py index b416e5b8394..d29a96b7e8d 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py @@ -6,7 +6,6 @@ import copy import frappe from frappe import _ -from frappe.query_builder.functions import Sum from frappe.utils import add_days, flt, formatdate, getdate from erpnext.accounts.doctype.account_closing_balance.account_closing_balance import ( diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py index e9bc137fcd4..9bb8e7bff80 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py b/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py index 148a5a83030..d771a08cf06 100644 --- a/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py +++ b/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py index 59d47dce726..6dae8dd22d5 100644 --- a/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py +++ b/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import copy -import unittest import frappe from frappe import _ diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py index 5403b10476c..39fd8142073 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py @@ -1,6 +1,5 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import json import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py b/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py index 2b23f94932f..0810814f479 100644 --- a/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py +++ b/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py @@ -1,6 +1,5 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.core.doctype.user_permission.test_user_permission import create_user diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.py b/erpnext/accounts/doctype/pos_profile/pos_profile.py index b8988687486..477498c3ee8 100644 --- a/erpnext/accounts/doctype/pos_profile/pos_profile.py +++ b/erpnext/accounts/doctype/pos_profile/pos_profile.py @@ -3,7 +3,7 @@ import frappe -from frappe import _, msgprint, scrub, unscrub +from frappe import _, msgprint from frappe.core.doctype.user_permission.user_permission import get_permitted_documents from frappe.model.document import Document from frappe.utils import get_link_to_form, now diff --git a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py index 002c913a7a2..f43ee3c4ce2 100644 --- a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py +++ b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py b/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py index b9747ff5799..27afe146f0a 100644 --- a/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py +++ b/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pos_settings/test_pos_settings.py b/erpnext/accounts/doctype/pos_settings/test_pos_settings.py index 1ae75140714..a45af6e1930 100644 --- a/erpnext/accounts/doctype/pos_settings/test_pos_settings.py +++ b/erpnext/accounts/doctype/pos_settings/test_pos_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py index aa4cd12afc2..7ebdfed9d8d 100644 --- a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py +++ b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py @@ -2,8 +2,6 @@ # License: GNU General Public License v3. See license.txt -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/pricing_rule/utils.py b/erpnext/accounts/doctype/pricing_rule/utils.py index efbd0ce5fae..763ea1bf7ea 100644 --- a/erpnext/accounts/doctype/pricing_rule/utils.py +++ b/erpnext/accounts/doctype/pricing_rule/utils.py @@ -6,7 +6,6 @@ import copy import json -import math import frappe from frappe import _, bold diff --git a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py index 8d35b7fcf85..08f3b06e58c 100644 --- a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py +++ b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/process_period_closing_voucher/process_period_closing_voucher.py b/erpnext/accounts/doctype/process_period_closing_voucher/process_period_closing_voucher.py index c5435e847e4..9a567ec69f2 100644 --- a/erpnext/accounts/doctype/process_period_closing_voucher/process_period_closing_voucher.py +++ b/erpnext/accounts/doctype/process_period_closing_voucher/process_period_closing_voucher.py @@ -8,7 +8,7 @@ import frappe from frappe import qb from frappe.model.document import Document from frappe.query_builder.functions import Count, Max, Min, Sum -from frappe.utils import add_days, flt, get_datetime +from frappe.utils import flt, get_datetime from frappe.utils.scheduler import is_scheduler_inactive from erpnext.accounts.doctype.account_closing_balance.account_closing_balance import ( diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py index 9cf27216b1e..3a4b2941b3b 100644 --- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py +++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py @@ -8,7 +8,7 @@ import frappe from frappe import _ from frappe.desk.reportview import get_match_cond from frappe.model.document import Document -from frappe.utils import add_days, add_months, add_to_date, format_date, getdate, today +from frappe.utils import add_days, add_months, format_date, getdate, today from frappe.utils.jinja import validate_template from frappe.utils.pdf import get_pdf from frappe.www.printview import get_print_style diff --git a/erpnext/accounts/doctype/process_subscription/process_subscription.py b/erpnext/accounts/doctype/process_subscription/process_subscription.py index 0cc3fae58a8..ce683597390 100644 --- a/erpnext/accounts/doctype/process_subscription/process_subscription.py +++ b/erpnext/accounts/doctype/process_subscription/process_subscription.py @@ -5,7 +5,7 @@ import frappe from frappe.model.document import Document from frappe.utils import create_batch, getdate -from erpnext.accounts.doctype.subscription.subscription import DateTimeLikeObject, process_all +from erpnext.accounts.doctype.subscription.subscription import DateTimeLikeObject class ProcessSubscription(Document): diff --git a/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py b/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py index 413ce1af792..996f361fd3f 100644 --- a/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py +++ b/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py index 80ce28c4ffd..30bb017871b 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py index 819ced1c911..4ffd8ff02c7 100644 --- a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py +++ b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py @@ -9,8 +9,6 @@ from frappe.desk.form.linked_with import get_child_tables_of_doctypes from frappe.model.document import Document from frappe.utils.data import comma_and -from erpnext.stock import get_warehouse_account_map - class RepostAccountingLedger(Document): # begin: auto-generated types diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json index ebf2d2f4b00..2d32832d25c 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json @@ -778,8 +778,7 @@ }, { "collapsible": 1, - "collapsible_depends_on": "eval:doc.total_billing_amount > 0", - "depends_on": "eval:!doc.is_return", + "collapsible_depends_on": "eval:doc.total_billing_amount > 0 || doc.total_billing_hours > 0", "fieldname": "time_sheet_list", "fieldtype": "Section Break", "hide_border": 1, @@ -793,7 +792,6 @@ "hide_days": 1, "hide_seconds": 1, "label": "Time Sheets", - "no_copy": 1, "options": "Sales Invoice Timesheet", "print_hide": 1 }, @@ -2092,7 +2090,7 @@ "fieldtype": "Column Break" }, { - "depends_on": "eval:(!doc.is_return && doc.total_billing_amount > 0)", + "depends_on": "eval:doc.total_billing_amount > 0 || doc.total_billing_hours > 0", "fieldname": "section_break_104", "fieldtype": "Section Break" }, @@ -2306,7 +2304,7 @@ "link_fieldname": "consolidated_invoice" } ], - "modified": "2025-10-09 14:48:59.472826", + "modified": "2025-12-24 18:29:50.242618", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice", diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index cad1a597386..646d0418bc9 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -33,6 +33,7 @@ from erpnext.accounts.utils import ( get_account_currency, update_voucher_outstanding, ) +from erpnext.assets.doctype.asset.asset import split_asset from erpnext.assets.doctype.asset.depreciation import ( depreciate_asset, get_gl_entries_on_asset_disposal, @@ -352,10 +353,22 @@ class SalesInvoice(SellingController): self.is_opening = "No" self.set_against_income_account() - self.validate_time_sheets_are_submitted() + + if self.is_return and not self.return_against and self.timesheets: + frappe.throw(_("Direct return is not allowed for Timesheet.")) + + if not self.is_return: + self.validate_time_sheets_are_submitted() + self.validate_multiple_billing("Delivery Note", "dn_detail", "amount") - if self.is_return: - self.timesheets = [] + + if self.is_return and self.return_against: + for row in self.timesheets: + if row.billing_hours: + row.billing_hours = -abs(row.billing_hours) + if row.billing_amount: + row.billing_amount = -abs(row.billing_amount) + self.update_packing_list() self.set_billing_hours_and_amount() self.update_timesheet_billing_for_project() @@ -468,6 +481,8 @@ class SalesInvoice(SellingController): self.update_stock_reservation_entries() self.update_stock_ledger() + self.split_asset_based_on_sale_qty() + self.process_asset_depreciation() # this sequence because outstanding may get -ve @@ -484,7 +499,7 @@ class SalesInvoice(SellingController): if cint(self.is_pos) != 1 and not self.is_return: self.update_against_document_in_jv() - self.update_time_sheet(self.name) + self.update_time_sheet(None if (self.is_return and self.return_against) else self.name) if frappe.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction": update_company_current_month_sales(self.company) @@ -564,7 +579,7 @@ class SalesInvoice(SellingController): self.check_if_consolidated_invoice() super().before_cancel() - self.update_time_sheet(None) + self.update_time_sheet(self.return_against if (self.is_return and self.return_against) else None) def on_cancel(self): check_if_return_invoice_linked_with_payment_entry(self) @@ -804,8 +819,20 @@ class SalesInvoice(SellingController): for data in timesheet.time_logs: if ( (self.project and args.timesheet_detail == data.name) - or (not self.project and not data.sales_invoice) - or (not sales_invoice and data.sales_invoice == self.name) + or (not self.project and not data.sales_invoice and args.timesheet_detail == data.name) + or ( + not sales_invoice + and data.sales_invoice == self.name + and args.timesheet_detail == data.name + ) + or ( + self.is_return + and self.return_against + and data.sales_invoice + and data.sales_invoice == self.return_against + and not sales_invoice + and args.timesheet_detail == data.name + ) ): data.sales_invoice = sales_invoice @@ -845,11 +872,26 @@ class SalesInvoice(SellingController): payment.account = get_bank_cash_account(payment.mode_of_payment, self.company).get("account") def validate_time_sheets_are_submitted(self): + # Note: This validation is skipped for return invoices + # to allow returns to reference already-billed timesheet details for data in self.timesheets: + # Handle invoice duplication + if data.time_sheet and data.timesheet_detail: + if sales_invoice := frappe.db.get_value( + "Timesheet Detail", data.timesheet_detail, "sales_invoice" + ): + frappe.throw( + _("Row {0}: Sales Invoice {1} is already created for {2}").format( + data.idx, frappe.bold(sales_invoice), frappe.bold(data.time_sheet) + ) + ) + if data.time_sheet: status = frappe.db.get_value("Timesheet", data.time_sheet, "status") - if status not in ["Submitted", "Payslip"]: - frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) + if status not in ["Submitted", "Payslip", "Partially Billed"]: + frappe.throw( + _("Timesheet {0} cannot be invoiced in its current state").format(data.time_sheet) + ) def set_pos_fields(self, for_validate=False): """Set retail related fields from POS Profiles""" @@ -1283,7 +1325,12 @@ class SalesInvoice(SellingController): timesheet.billing_amount = ts_doc.total_billable_amount def update_timesheet_billing_for_project(self): - if not self.timesheets and self.project and self.is_auto_fetch_timesheet_enabled(): + if ( + not self.is_return + and not self.timesheets + and self.project + and self.is_auto_fetch_timesheet_enabled() + ): self.add_timesheet_data() else: self.calculate_billing_amount_for_timesheet() @@ -1358,6 +1405,51 @@ class SalesInvoice(SellingController): ): throw(_("Delivery Note {0} is not submitted").format(d.delivery_note)) + def split_asset_based_on_sale_qty(self): + asset_qty_map = self.get_asset_qty() + for asset, qty in asset_qty_map.items(): + if qty["actual_qty"] < qty["sale_qty"]: + frappe.throw( + _( + "Sell quantity cannot exceed the asset quantity. Asset {0} has only {1} item(s)." + ).format(asset, qty["actual_qty"]) + ) + + remaining_qty = qty["actual_qty"] - qty["sale_qty"] + if remaining_qty > 0: + split_asset(asset, remaining_qty) + + def get_asset_qty(self): + asset_qty_map = {} + + assets = {row.asset for row in self.items if row.is_fixed_asset and row.asset} + if not assets or self.is_return: + return asset_qty_map + + asset_actual_qty = dict( + frappe.db.get_all( + "Asset", + {"name": ["in", list(assets)]}, + ["name", "asset_quantity"], + as_list=True, + ) + ) + for row in self.items: + if row.is_fixed_asset and row.asset: + actual_qty = asset_actual_qty.get(row.asset) + if row.asset in asset_qty_map.keys(): + asset_qty_map[row.asset]["sale_qty"] += flt(row.qty) + else: + asset_qty_map.setdefault( + row.asset, + { + "sale_qty": flt(row.qty), + "actual_qty": flt(actual_qty), + }, + ) + + return asset_qty_map + def process_asset_depreciation(self): if (self.is_return and self.docstatus == 2) or (not self.is_return and self.docstatus == 1): self.depreciate_asset_on_sale() diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py index 13eb0f6ae18..7a266907f5e 100644 --- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -2951,6 +2951,60 @@ class TestSalesInvoice(ERPNextTestSuite): self.assertEqual(sales_invoice.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC") self.assertEqual(sales_invoice.items[0].item_tax_rate, item_tax_map) + def test_item_tax_template_change_with_grand_total_discount(self): + """ + Test that when item tax template changes due to discount on Grand Total, + the tax calculations are consistent. + """ + item = create_item("Test Item With Multiple Tax Templates") + + item.set("taxes", []) + item.append( + "taxes", + { + "item_tax_template": "_Test Account Excise Duty @ 10 - _TC", + "minimum_net_rate": 0, + "maximum_net_rate": 500, + }, + ) + + item.append( + "taxes", + { + "item_tax_template": "_Test Account Excise Duty @ 12 - _TC", + "minimum_net_rate": 501, + "maximum_net_rate": 1000, + }, + ) + + item.save() + + si = create_sales_invoice(item=item.name, rate=700, do_not_save=True) + si.append( + "taxes", + { + "charge_type": "On Net Total", + "account_head": "_Test Account Excise Duty - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Excise Duty", + "rate": 0, + }, + ) + si.insert() + + self.assertEqual(si.items[0].item_tax_template, "_Test Account Excise Duty @ 12 - _TC") + + si.apply_discount_on = "Grand Total" + si.discount_amount = 300 + si.save() + + # Verify template changed to 10% + self.assertEqual(si.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC") + self.assertEqual(si.taxes[0].tax_amount, 70) # 10% of 700 + self.assertEqual(si.grand_total, 470) # 700 + 70 - 300 + + si.submit() + @IntegrationTestCase.change_settings("Selling Settings", {"enable_discount_accounting": 1}) def test_sales_invoice_with_discount_accounting_enabled(self): discount_account = create_account( @@ -4467,8 +4521,6 @@ class TestSalesInvoice(ERPNextTestSuite): self.assertRaises(frappe.ValidationError, pos.insert) def test_stand_alone_credit_note_valuation(self): - from erpnext.stock.doctype.item.test_item import make_item - item_code = "_Test Item for Credit Note Valuation" make_item_for_si( item_code, @@ -4506,8 +4558,6 @@ class TestSalesInvoice(ERPNextTestSuite): self.assertEqual(stock_ledger_entry.stock_value_difference, 2400.0) def test_stand_alone_credit_note_zero_valuation(self): - from erpnext.stock.doctype.item.test_item import make_item - item_code = "_Test Item for Credit Note Zero Valuation" make_item_for_si( item_code, @@ -4599,8 +4649,6 @@ class TestSalesInvoice(ERPNextTestSuite): self.assertEqual(q[0][0], 1) def test_non_batchwise_valuation_for_moving_average(self): - from erpnext.stock.doctype.item.test_item import make_item - item_code = "_Test Item for Non Batchwise Valuation" make_item_for_si( item_code, diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py index 2b444d760b7..94c121e59fe 100644 --- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py +++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py @@ -5,10 +5,8 @@ import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils.data import cint from erpnext.assets.doctype.asset.depreciation import get_disposal_account_and_cost_center -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos class SalesInvoiceItem(Document): diff --git a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json index 1302fd38b26..cf9a90062b2 100644 --- a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json +++ b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json @@ -52,7 +52,6 @@ "fieldtype": "Data", "hidden": 1, "label": "Timesheet Detail", - "no_copy": 1, "print_hide": 1, "read_only": 1 }, @@ -117,15 +116,16 @@ ], "istable": 1, "links": [], - "modified": "2024-03-27 13:10:36.562795", + "modified": "2025-12-23 13:54:17.677187", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice Timesheet", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py b/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py index 1684ca82cbd..e7454829e98 100644 --- a/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py @@ -1,8 +1,6 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest -import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/share_transfer/test_share_transfer.py b/erpnext/accounts/doctype/share_transfer/test_share_transfer.py index 7cd76cc6b47..9cd05bdbe37 100644 --- a/erpnext/accounts/doctype/share_transfer/test_share_transfer.py +++ b/erpnext/accounts/doctype/share_transfer/test_share_transfer.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/share_type/test_share_type.py b/erpnext/accounts/doctype/share_type/test_share_type.py index e6f1f71f4bb..c43eb206c69 100644 --- a/erpnext/accounts/doctype/share_type/test_share_type.py +++ b/erpnext/accounts/doctype/share_type/test_share_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/shareholder/test_shareholder.py b/erpnext/accounts/doctype/shareholder/test_shareholder.py index 3c0f34858f9..00c321dcb69 100644 --- a/erpnext/accounts/doctype/shareholder/test_shareholder.py +++ b/erpnext/accounts/doctype/shareholder/test_shareholder.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py index be05f5662db..57099aae6a3 100644 --- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/subscription/test_subscription.py b/erpnext/accounts/doctype/subscription/test_subscription.py index 2f1c1742d0b..b6b1cdc81e2 100644 --- a/erpnext/accounts/doctype/subscription/test_subscription.py +++ b/erpnext/accounts/doctype/subscription/test_subscription.py @@ -8,7 +8,6 @@ from frappe.utils.data import ( add_days, add_months, add_to_date, - add_years, cint, date_diff, flt, diff --git a/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py b/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py index a176a99a9b8..347777b6945 100644 --- a/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py +++ b/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py b/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py index 19b9285b1d8..6c11af041c9 100644 --- a/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py +++ b/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py b/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py index 5d6607cb0cd..36fd6b0f7a7 100644 --- a/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py +++ b/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/tax_category/test_tax_category.py b/erpnext/accounts/doctype/tax_category/test_tax_category.py index fbe654999f1..596682499d9 100644 --- a/erpnext/accounts/doctype/tax_category/test_tax_category.py +++ b/erpnext/accounts/doctype/tax_category/test_tax_category.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py index 2602ea14861..9b8e4feb83a 100644 --- a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py +++ b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py index 782f5a06cfb..a9773ceae60 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py +++ b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py @@ -415,7 +415,6 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 500, "description": "Test", - "add_deduct_tax": "Add", }, ) pi.save() @@ -506,7 +505,6 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 200, "description": "Test Gross Tax", - "add_deduct_tax": "Add", }, ) si.save() @@ -541,10 +539,10 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 400, "description": "Test Gross Tax", - "add_deduct_tax": "Add", }, ) si.save() + si.reload() si.submit() invoices.append(si) # For amount before threshold (first 8000 + VAT): TCS entry with amount zero @@ -594,7 +592,6 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 500, "description": "VAT added to test TDS calculation on gross amount", - "add_deduct_tax": "Add", }, ) si.save() @@ -1024,7 +1021,6 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 1000, "description": "VAT added to test TDS calculation on gross amount", - "add_deduct_tax": "Add", }, ) pi.save() @@ -1162,7 +1158,6 @@ class TestTaxWithholdingCategory(IntegrationTestCase): "cost_center": "Main - _TC", "tax_amount": 8000, "description": "Test", - "add_deduct_tax": "Add", }, ) diff --git a/erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py b/erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py index 4abbd2c28e4..6aff1116935 100644 --- a/erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py +++ b/erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py @@ -708,6 +708,10 @@ class TaxWithholdingController: existing_taxes = {row.account_head: row for row in self.doc.taxes if row.is_tax_withholding_account} precision = self.doc.precision("tax_amount", "taxes") conversion_rate = self.get_conversion_rate() + add_deduct_tax = "Deduct" + + if self.party_type == "Customer": + add_deduct_tax = "Add" for account_head, base_amount in account_amount_map.items(): tax_amount = flt(base_amount / conversion_rate, precision) @@ -724,6 +728,7 @@ class TaxWithholdingController: tax_row = self._create_tax_row(account_head, tax_amount) for_update = False + tax_row.add_deduct_tax = add_deduct_tax # Set item-wise tax breakup for this tax row self._set_item_wise_tax_for_tds( tax_row, account_head, category_withholding_map, for_update=for_update @@ -743,7 +748,6 @@ class TaxWithholdingController: "account_head": account_head, "description": account_head, "cost_center": cost_center, - "add_deduct_tax": "Deduct", "tax_amount": tax_amount, "dont_recompute_tax": 1, }, @@ -807,12 +811,14 @@ class TaxWithholdingController: else: item_tax_amount = 0 + multiplier = -1 if tax_row.add_deduct_tax == "Deduct" else 1 + self.doc._item_wise_tax_details.append( frappe._dict( item=item, tax=tax_row, rate=category.tax_rate, - amount=item_tax_amount * -1, # Negative because it's a deduction + amount=item_tax_amount * multiplier, taxable_amount=item_base_taxable, ) ) diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py index 7c5dcedaf74..97008d0b057 100644 --- a/erpnext/accounts/general_ledger.py +++ b/erpnext/accounts/general_ledger.py @@ -9,7 +9,6 @@ from frappe import _ from frappe.model.meta import get_field_precision from frappe.utils import cint, flt, formatdate, get_link_to_form, getdate, now from frappe.utils.caching import request_cache -from frappe.utils.dashboard import cache_source import erpnext from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 61a4a976a19..749ddd819ec 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -7,18 +7,16 @@ from frappe import _, msgprint, qb, scrub from frappe.contacts.doctype.address.address import get_company_address, get_default_address from frappe.core.doctype.user_permission.user_permission import get_permitted_documents from frappe.model.utils import get_fetch_values -from frappe.query_builder.functions import Abs, Count, Date, Sum +from frappe.query_builder.functions import Abs, Date, Sum from frappe.utils import ( add_days, add_months, - add_years, cint, cstr, date_diff, flt, formatdate, get_last_day, - get_timestamp, getdate, nowdate, ) diff --git a/erpnext/accounts/report/account_balance/test_account_balance.py b/erpnext/accounts/report/account_balance/test_account_balance.py index 37d6f292fb6..13b261da724 100644 --- a/erpnext/accounts/report/account_balance/test_account_balance.py +++ b/erpnext/accounts/report/account_balance/test_account_balance.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase from frappe.utils import getdate diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.js b/erpnext/accounts/report/accounts_payable/accounts_payable.js index 4d74a5c2d7c..1d0d44efcdc 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.js +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.js @@ -151,6 +151,8 @@ frappe.query_reports["Accounts Payable"] = { fieldtype: "Check", }, ], + collapsible_filters: true, + separate_check_filters: true, formatter: function (value, row, column, data, default_formatter) { value = default_formatter(value, row, column, data); diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js index a4cb0584bf1..e7a3fbf70db 100644 --- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js +++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js @@ -108,6 +108,8 @@ frappe.query_reports["Accounts Payable Summary"] = { fieldtype: "Check", }, ], + collapsible_filters: true, + separate_check_filters: true, onload: function (report) { report.page.add_inner_button(__("Accounts Payable"), function () { diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js index a05b17bfade..51dbf4f3f6e 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js @@ -178,6 +178,8 @@ frappe.query_reports["Accounts Receivable"] = { fieldtype: "Check", }, ], + collapsible_filters: true, + separate_check_filters: true, formatter: function (value, row, column, data, default_formatter) { value = default_formatter(value, row, column, data); diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index 75e81d3b04c..0b4f59d6aae 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -877,11 +877,15 @@ class ReceivablePayableReport: else: entry_date = row.posting_date + row.range0 = 0.0 + self.get_ageing_data(entry_date, row) - # ageing buckets should not have amounts if due date is not reached if getdate(entry_date) > getdate(self.age_as_on): + row.range0 = row.outstanding [setattr(row, f"range{i}", 0.0) for i in self.range_numbers] + row.total_due = 0 + return row.total_due = sum(row[f"range{i}"] for i in self.range_numbers) @@ -1281,6 +1285,8 @@ class ReceivablePayableReport: ranges = [*self.ranges, _("Above")] prev_range_value = 0 + self.add_column(label=_("<0"), fieldname="range0", fieldtype="Currency") + self.ageing_column_labels.append(_("<0")) for idx, curr_range_value in enumerate(ranges): label = f"{prev_range_value}-{curr_range_value}" self.add_column(label=label, fieldname="range" + str(idx + 1)) @@ -1296,7 +1302,9 @@ class ReceivablePayableReport: for row in self.data: row = frappe._dict(row) if not cint(row.bold): - values = [flt(row.get(f"range{i}", None), precision) for i in self.range_numbers] + values = [flt(row.get("range0", 0), precision)] + [ + flt(row.get(f"range{i}", 0), precision) for i in self.range_numbers + ] rows.append({"values": values}) self.chart = { diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js index c8e59d6e054..2859899ed97 100644 --- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js +++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js @@ -131,6 +131,8 @@ frappe.query_reports["Accounts Receivable Summary"] = { fieldtype: "Check", }, ], + collapsible_filters: true, + separate_check_filters: true, onload: function (report) { report.page.add_inner_button(__("Accounts Receivable"), function () { diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py index a23a7d5a10b..a15a2e1193f 100644 --- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py +++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py @@ -4,7 +4,7 @@ import frappe from frappe import _, scrub -from frappe.utils import cint, flt +from frappe.utils import flt from erpnext.accounts.party import get_partywise_advanced_payment_amount from erpnext.accounts.report.accounts_receivable.accounts_receivable import ReceivablePayableReport diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py index a53cdcc1b40..6c245acf8d8 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -18,6 +18,8 @@ def execute(filters=None): dimensions = filters.get("budget_against_filter") else: dimensions = get_budget_dimensions(filters) + if not dimensions: + return columns, [], None, None budget_records = get_budget_records(filters, dimensions) budget_map = build_budget_map(budget_records, filters) diff --git a/erpnext/accounts/report/customer_ledger_summary/test_customer_ledger_summary.py b/erpnext/accounts/report/customer_ledger_summary/test_customer_ledger_summary.py index 14e88afca39..f2ed334d16d 100644 --- a/erpnext/accounts/report/customer_ledger_summary/test_customer_ledger_summary.py +++ b/erpnext/accounts/report/customer_ledger_summary/test_customer_ledger_summary.py @@ -1,7 +1,6 @@ import frappe -from frappe import qb from frappe.tests import IntegrationTestCase -from frappe.utils import add_days, flt, getdate, today +from frappe.utils import today from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice diff --git a/erpnext/accounts/report/general_ledger/general_ledger.js b/erpnext/accounts/report/general_ledger/general_ledger.js index 46ce1933834..52db0d61851 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.js +++ b/erpnext/accounts/report/general_ledger/general_ledger.js @@ -224,7 +224,7 @@ frappe.query_reports["General Ledger"] = { }, ], collapsible_filters: true, - seperate_check_filters: true, + separate_check_filters: true, }; erpnext.utils.add_dimensions("General Ledger", 15); diff --git a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py index 00f9c3e38d5..52259059901 100644 --- a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py +++ b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py @@ -219,13 +219,18 @@ def get_net_profit( has_value = False + gross_income_roots = [row for row in (gross_income or []) if not flt(row.get("indent"))] + non_gross_income_roots = [row for row in (non_gross_income or []) if not flt(row.get("indent"))] + gross_expense_roots = [row for row in (gross_expense or []) if not flt(row.get("indent"))] + non_gross_expense_roots = [row for row in (non_gross_expense or []) if not flt(row.get("indent"))] + for period in period_list: key = period if consolidated else period.key - gross_income_for_period = flt(gross_income[0].get(key, 0)) if gross_income else 0 - non_gross_income_for_period = flt(non_gross_income[0].get(key, 0)) if non_gross_income else 0 - gross_expense_for_period = flt(gross_expense[0].get(key, 0)) if gross_expense else 0 - non_gross_expense_for_period = flt(non_gross_expense[0].get(key, 0)) if non_gross_expense else 0 + gross_income_for_period = sum(flt(row.get(key, 0)) for row in gross_income_roots) + non_gross_income_for_period = sum(flt(row.get(key, 0)) for row in non_gross_income_roots) + gross_expense_for_period = sum(flt(row.get(key, 0)) for row in gross_expense_roots) + non_gross_expense_for_period = sum(flt(row.get(key, 0)) for row in non_gross_expense_roots) total_income = gross_income_for_period + non_gross_income_for_period total_expense = gross_expense_for_period + non_gross_expense_for_period diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py index fa99ff8e42c..db73972bfb8 100644 --- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py +++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py @@ -105,7 +105,7 @@ def _execute(filters=None, additional_table_columns=None, additional_conditions= { "total_tax": total_tax, "total_other_charges": total_other_charges, - "total": d.base_net_amount + total_tax, + "total": d.base_net_amount + total_tax + total_other_charges, "currency": company_currency, } ) diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py index f3f30d38a04..da3fa0762aa 100644 --- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py +++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py @@ -6,7 +6,7 @@ import frappe from frappe import _, qb from frappe.query_builder import Criterion from frappe.query_builder.functions import Abs -from frappe.utils import flt, getdate +from frappe.utils import getdate from erpnext.accounts.report.accounts_receivable.accounts_receivable import ReceivablePayableReport diff --git a/erpnext/accounts/report/purchase_register/purchase_register.py b/erpnext/accounts/report/purchase_register/purchase_register.py index 026aecce036..882dbb7e5e9 100644 --- a/erpnext/accounts/report/purchase_register/purchase_register.py +++ b/erpnext/accounts/report/purchase_register/purchase_register.py @@ -6,7 +6,6 @@ import frappe from frappe import _, msgprint from frappe.query_builder.custom import ConstantColumn from frappe.utils import flt, getdate -from pypika import Order from erpnext.accounts.party import get_party_account from erpnext.accounts.report.utils import ( diff --git a/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py b/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py index 481e9381ff1..96e903b93ca 100644 --- a/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py +++ b/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/report/sales_register/sales_register.py b/erpnext/accounts/report/sales_register/sales_register.py index e55f217682d..41581bfd2f2 100644 --- a/erpnext/accounts/report/sales_register/sales_register.py +++ b/erpnext/accounts/report/sales_register/sales_register.py @@ -7,7 +7,6 @@ from frappe import _, msgprint from frappe.model.meta import get_field_precision from frappe.query_builder.custom import ConstantColumn from frappe.utils import flt, getdate -from pypika import Order from erpnext.accounts.party import get_party_account from erpnext.accounts.report.utils import ( diff --git a/erpnext/accounts/test/test_reports.py b/erpnext/accounts/test/test_reports.py index c58269dde23..e702c135b04 100644 --- a/erpnext/accounts/test/test_reports.py +++ b/erpnext/accounts/test/test_reports.py @@ -1,5 +1,3 @@ -import unittest - from frappe.tests import IntegrationTestCase from erpnext.tests.utils import ReportFilters, ReportName, execute_script_report diff --git a/erpnext/accounts/test/test_utils.py b/erpnext/accounts/test/test_utils.py index fd2dc61096e..6aa1553a656 100644 --- a/erpnext/accounts/test/test_utils.py +++ b/erpnext/accounts/test/test_utils.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.test_runner import make_test_objects from frappe.tests import IntegrationTestCase diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 7dfe9041506..4e0079abf02 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -547,6 +547,7 @@ def reconcile_against_document( doc.make_advance_gl_entries(entry=row) else: _delete_pl_entries(voucher_type, voucher_no) + _delete_adv_pl_entries(voucher_type, voucher_no) gl_map = doc.build_gl_map() # Make sure there is no overallocation from erpnext.accounts.general_ledger import process_debit_credit_difference diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js index e0b4593416a..f3a310a101d 100644 --- a/erpnext/assets/doctype/asset/asset.js +++ b/erpnext/assets/doctype/asset/asset.js @@ -111,7 +111,7 @@ frappe.ui.form.on("Asset", { frm.add_custom_button( __("Sell Asset"), function () { - frm.trigger("make_sales_invoice"); + frm.trigger("sell_asset"); }, __("Manage") ); @@ -231,26 +231,64 @@ frappe.ui.form.on("Asset", { }, toggle_reference_doc: function (frm) { - if (frm.doc.purchase_receipt && frm.doc.purchase_invoice && frm.doc.docstatus === 1) { - frm.set_df_property("purchase_invoice", "read_only", 1); - frm.set_df_property("purchase_receipt", "read_only", 1); - } else if (frm.doc.is_existing_asset || frm.doc.is_composite_asset) { - frm.toggle_reqd("purchase_receipt", 0); - frm.toggle_reqd("purchase_invoice", 0); - } else if (frm.doc.purchase_receipt) { - // if purchase receipt link is set then set PI disabled - frm.toggle_reqd("purchase_invoice", 0); - frm.set_df_property("purchase_invoice", "read_only", 1); - } else if (frm.doc.purchase_invoice) { - // if purchase invoice link is set then set PR disabled - frm.toggle_reqd("purchase_receipt", 0); - frm.set_df_property("purchase_receipt", "read_only", 1); - } else { - frm.toggle_reqd("purchase_receipt", 1); - frm.set_df_property("purchase_receipt", "read_only", 0); - frm.toggle_reqd("purchase_invoice", 1); - frm.set_df_property("purchase_invoice", "read_only", 0); + const is_submitted = frm.doc.docstatus === 1; + const is_special_asset = frm.doc.is_existing_asset || frm.doc.is_composite_asset; + + const clear_field = (field) => { + if (frm.doc[field]) { + frm.set_value(field, ""); + } + }; + + ["purchase_receipt", "purchase_receipt_item", "purchase_invoice", "purchase_invoice_item"].forEach( + (field) => { + frm.toggle_reqd(field, 0); + frm.set_df_property(field, "read_only", 0); + } + ); + + if (is_submitted) { + [ + "purchase_receipt", + "purchase_receipt_item", + "purchase_invoice", + "purchase_invoice_item", + ].forEach((field) => { + frm.set_df_property(field, "read_only", 1); + }); + return; } + + if (is_special_asset) { + clear_field("purchase_receipt"); + clear_field("purchase_receipt_item"); + clear_field("purchase_invoice"); + clear_field("purchase_invoice_item"); + return; + } + + if (frm.doc.purchase_receipt) { + frm.toggle_reqd("purchase_receipt_item", 1); + + ["purchase_invoice", "purchase_invoice_item"].forEach((field) => { + clear_field(field); + frm.set_df_property(field, "read_only", 1); + }); + return; + } + + if (frm.doc.purchase_invoice) { + frm.toggle_reqd("purchase_invoice_item", 1); + + ["purchase_receipt", "purchase_receipt_item"].forEach((field) => { + clear_field(field); + frm.set_df_property(field, "read_only", 1); + }); + return; + } + + frm.toggle_reqd("purchase_receipt", 1); + frm.toggle_reqd("purchase_invoice", 1); }, make_journal_entry: function (frm) { @@ -480,26 +518,9 @@ frappe.ui.form.on("Asset", { } else { frm.set_df_property("net_purchase_amount", "read_only", 0); } - frm.trigger("toggle_reference_doc"); }, - make_sales_invoice: function (frm) { - frappe.call({ - args: { - asset: frm.doc.name, - item_code: frm.doc.item_code, - company: frm.doc.company, - serial_no: frm.doc.serial_no, - }, - method: "erpnext.assets.doctype.asset.asset.make_sales_invoice", - callback: function (r) { - var doclist = frappe.model.sync(r.message); - frappe.set_route("Form", doclist[0].doctype, doclist[0].name); - }, - }); - }, - create_asset_maintenance: function (frm) { frappe.call({ args: { @@ -548,6 +569,69 @@ frappe.ui.form.on("Asset", { }); }, + sell_asset: function (frm) { + const make_sales_invoice = (sell_qty) => { + frappe.call({ + method: "erpnext.assets.doctype.asset.asset.make_sales_invoice", + args: { + asset: frm.doc.name, + item_code: frm.doc.item_code, + company: frm.doc.company, + serial_no: frm.doc.serial_no, + sell_qty: sell_qty, + }, + callback: function (r) { + var doclist = frappe.model.sync(r.message); + frappe.set_route("Form", doclist[0].doctype, doclist[0].name); + }, + }); + }; + + let dialog = new frappe.ui.Dialog({ + title: __("Sell Asset"), + fields: [ + { + fieldname: "sell_qty", + fieldtype: "Int", + label: __("Sell Qty"), + reqd: 1, + }, + ], + }); + + dialog.set_primary_action(__("Sell"), function () { + const dialog_data = dialog.get_values(); + const sell_qty = cint(dialog_data.sell_qty); + const asset_qty = cint(frm.doc.asset_quantity); + + if (sell_qty <= 0) { + frappe.throw(__("Sell quantity must be greater than zero")); + } + + if (sell_qty > asset_qty) { + frappe.throw(__("Sell quantity cannot exceed the asset quantity")); + } + + if (sell_qty < asset_qty) { + frappe.confirm( + __( + "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?" + ), + () => { + make_sales_invoice(sell_qty); + dialog.hide(); + } + ); + return; + } + + make_sales_invoice(sell_qty); + dialog.hide(); + }); + + dialog.show(); + }, + split_asset: function (frm) { const title = __("Split Asset"); diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index 701be98a0d6..6bf76cdb70f 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -482,6 +482,9 @@ class Asset(AccountsController): frappe.throw(_("Available-for-use Date should be after purchase date")) def validate_linked_purchase_documents(self): + if self.flags.is_split_asset: + return + for fieldname, doctype in [ ("purchase_receipt", "Purchase Receipt"), ("purchase_invoice", "Purchase Invoice"), @@ -589,9 +592,7 @@ class Asset(AccountsController): def set_depreciation_rate(self): for d in self.get("finance_books"): self.validate_asset_finance_books(d) - d.rate_of_depreciation = flt( - self.get_depreciation_rate(d, on_validate=True), d.precision("rate_of_depreciation") - ) + d.rate_of_depreciation = self.get_depreciation_rate(d, on_validate=True) def validate_asset_finance_books(self, row): row.expected_value_after_useful_life = flt( @@ -981,7 +982,7 @@ class Asset(AccountsController): if isinstance(args, str): args = json.loads(args) - rate_field_precision = frappe.get_precision(args.doctype, "rate_of_depreciation") or 2 + rate_field_precision = frappe.get_single_value("System Settings", "float_precision") or 2 if args.get("depreciation_method") == "Double Declining Balance": return self.get_double_declining_balance_rate(args, rate_field_precision) @@ -1083,7 +1084,7 @@ def get_asset_naming_series(): @frappe.whitelist() -def make_sales_invoice(asset, item_code, company, serial_no=None, posting_date=None): +def make_sales_invoice(asset, item_code, company, sell_qty, serial_no=None): asset_doc = frappe.get_doc("Asset", asset) si = frappe.new_doc("Sales Invoice") si.company = company @@ -1098,7 +1099,7 @@ def make_sales_invoice(asset, item_code, company, serial_no=None, posting_date=N "income_account": disposal_account, "serial_no": serial_no, "cost_center": depreciation_cost_center, - "qty": 1, + "qty": sell_qty, }, ) @@ -1378,6 +1379,7 @@ def process_asset_split(existing_asset, split_qty, splitted_asset=None, is_new_a scaling_factor = flt(split_qty) / flt(existing_asset.asset_quantity) new_asset = frappe.copy_doc(existing_asset) if is_new_asset else splitted_asset asset_doc = new_asset if is_new_asset else existing_asset + asset_doc.flags.is_split_asset = True set_split_asset_values(asset_doc, scaling_factor, split_qty, existing_asset, is_new_asset) log_asset_activity(existing_asset, asset_doc, splitted_asset, is_new_asset) diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py index c54c39ab7c8..96f5bed0e12 100644 --- a/erpnext/assets/doctype/asset/test_asset.py +++ b/erpnext/assets/doctype/asset/test_asset.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase @@ -330,7 +329,9 @@ class TestAsset(AssetSetup): post_depreciation_entries(date=add_months(purchase_date, 2)) - si = make_sales_invoice(asset=asset.name, item_code="Macbook Pro", company="_Test Company") + si = make_sales_invoice( + asset=asset.name, item_code="Macbook Pro", company="_Test Company", sell_qty=asset.asset_quantity + ) si.customer = "_Test Customer" si.due_date = date si.get("items")[0].rate = 25000 @@ -458,7 +459,9 @@ class TestAsset(AssetSetup): post_depreciation_entries(date="2021-01-01") - si = make_sales_invoice(asset=asset.name, item_code="Macbook Pro", company="_Test Company") + si = make_sales_invoice( + asset=asset.name, item_code="Macbook Pro", company="_Test Company", sell_qty=asset.asset_quantity + ) si.customer = "_Test Customer" si.due_date = nowdate() si.get("items")[0].rate = 25000 @@ -698,8 +701,142 @@ class TestAsset(AssetSetup): frappe.db.set_value("Asset Category Account", name, "capital_work_in_progress_account", cwip_acc) frappe.db.get_value("Company", "_Test Company", "capital_work_in_progress_account", cwip_acc) + def test_partial_asset_sale(self): + date = nowdate() + purchase_date = add_months(get_first_day(date), -2) + depreciation_start_date = add_months(get_last_day(date), -2) + + # create an asset + asset = create_asset( + item_code="Macbook Pro", + is_existing_asset=1, + calculate_depreciation=1, + available_for_use_date=purchase_date, + purchase_date=purchase_date, + depreciation_start_date=depreciation_start_date, + net_purchase_amount=1000000.0, + purchase_amount=1000000.0, + asset_quantity=10, + total_number_of_depreciations=12, + frequency_of_depreciation=1, + submit=1, + ) + asset_depr_schedule_before_sale = get_asset_depr_schedule_doc(asset.name, "Active") + post_depreciation_entries(date) + asset.reload() + + # check asset values before sale + self.assertEqual(asset.asset_quantity, 10) + self.assertEqual(asset.net_purchase_amount, 1000000) + self.assertEqual(asset.status, "Partially Depreciated") + self.assertEqual( + asset_depr_schedule_before_sale.depreciation_schedule[0].get("depreciation_amount"), 83333.33 + ) + + # make a partial sales against the asset + si = make_sales_invoice( + asset=asset.name, item_code="Macbook Pro", company="_Test Company", sell_qty=5 + ) + si.customer = "_Test Customer" + si.due_date = date + si.get("items")[0].rate = 25000 + si.insert() + si.submit() + + asset.reload() + asset_depr_schedule_after_sale = get_asset_depr_schedule_doc(asset.name, "Active") + + # check asset values after sales + self.assertEqual(asset.asset_quantity, 5) + self.assertEqual(asset.net_purchase_amount, 500000) + self.assertEqual(asset.status, "Sold") + self.assertEqual( + asset_depr_schedule_after_sale.depreciation_schedule[0].get("depreciation_amount"), 41666.66 + ) + + def test_asset_splitting_for_non_existing_asset(self): + date = nowdate() + purchase_date = add_months(get_first_day(date), -2) + depreciation_start_date = add_months(get_last_day(date), -2) + + asset_qty = 10 + asset_rate = 100000.0 + asset_item = "Macbook Pro" + asset_location = "Test Location" + + frappe.db.set_value("Item", asset_item, "is_grouped_asset", 1) + + # Inward asset via Purchase Receipt + pr = make_purchase_receipt( + item_code="Macbook Pro", + posting_date=purchase_date, + qty=asset_qty, + rate=asset_rate, + location=asset_location, + supplier="_Test Supplier", + ) + + asset = frappe.db.get_value("Asset", {"purchase_receipt": pr.name, "docstatus": 0}, "name") + asset_doc = frappe.get_doc("Asset", asset) + asset_doc.calculate_depreciation = 1 + asset_doc.available_for_use_date = purchase_date + asset_doc.location = asset_location + asset_doc.append( + "finance_books", + { + "expected_value_after_useful_life": 0, + "depreciation_method": "Straight Line", + "total_number_of_depreciations": 12, + "frequency_of_depreciation": 1, + "depreciation_start_date": depreciation_start_date, + }, + ) + asset_doc.submit() + + # check asset values before splitting + asset_depr_schedule_before_splitting = get_asset_depr_schedule_doc(asset_doc.name, "Active") + self.assertEqual(asset_doc.asset_quantity, 10) + self.assertEqual(asset_doc.net_purchase_amount, 1000000) + self.assertEqual( + asset_depr_schedule_before_splitting.depreciation_schedule[0].get("depreciation_amount"), 83333.33 + ) + + # initate asset split + new_asset = split_asset(asset_doc.name, 5) + asset_doc.reload() + asset_depr_schedule_after_sale = get_asset_depr_schedule_doc(asset_doc.name, "Active") + new_asset_depr_schedule = get_asset_depr_schedule_doc(new_asset.name, "Active") + + # check asset values after splitting + self.assertEqual(asset_doc.asset_quantity, 5) + self.assertEqual(asset_doc.net_purchase_amount, 500000) + self.assertEqual( + asset_depr_schedule_after_sale.depreciation_schedule[0].get("depreciation_amount"), 41666.66 + ) + + # check new asset values after splitting + self.assertEqual(new_asset.asset_quantity, 5) + self.assertEqual(new_asset.net_purchase_amount, 500000) + self.assertEqual( + new_asset_depr_schedule.depreciation_schedule[0].get("depreciation_amount"), 41666.66 + ) + + frappe.db.set_value("Item", asset_item, "is_grouped_asset", 0) + class TestDepreciationMethods(AssetSetup): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls._old_float_precision = frappe.db.get_single_value("System Settings", "float_precision") + frappe.db.set_single_value("System Settings", "float_precision", 2) + + @classmethod + def tearDownClass(cls): + frappe.db.set_single_value("System Settings", "float_precision", cls._old_float_precision) + super().tearDownClass() + def test_schedule_for_straight_line_method(self): asset = create_asset( calculate_depreciation=1, @@ -797,9 +934,9 @@ class TestDepreciationMethods(AssetSetup): self.assertEqual(asset.status, "Draft") expected_schedules = [ - ["2030-12-31", 66667.00, 66667.00], - ["2031-12-31", 22222.11, 88889.11], - ["2032-12-31", 1110.89, 90000.0], + ["2030-12-31", 66670.0, 66670.0], + ["2031-12-31", 22221.11, 88891.11], + ["2032-12-31", 1108.89, 90000.0], ] schedules = [ @@ -825,7 +962,7 @@ class TestDepreciationMethods(AssetSetup): self.assertEqual(asset.status, "Draft") - expected_schedules = [["2031-12-31", 33333.50, 83333.50], ["2032-12-31", 6666.50, 90000.0]] + expected_schedules = [["2031-12-31", 33335.0, 83335.0], ["2032-12-31", 6665.0, 90000.0]] schedules = [ [cstr(d.schedule_date), d.depreciation_amount, d.accumulated_depreciation_amount] @@ -943,12 +1080,12 @@ class TestDepreciationMethods(AssetSetup): ) expected_schedules = [ - ["2022-02-28", 337.72, 337.72], - ["2022-03-31", 675.45, 1013.17], - ["2022-04-30", 675.45, 1688.62], - ["2022-05-31", 675.45, 2364.07], - ["2022-06-30", 675.45, 3039.52], - ["2022-07-15", 1960.48, 5000.0], + ["2022-02-28", 337.71, 337.71], + ["2022-03-31", 675.42, 1013.13], + ["2022-04-30", 675.42, 1688.55], + ["2022-05-31", 675.42, 2363.97], + ["2022-06-30", 675.42, 3039.39], + ["2022-07-15", 1960.61, 5000.0], ] schedules = [ diff --git a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py index ab12899f45b..99910014b42 100644 --- a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py +++ b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py @@ -13,7 +13,6 @@ import erpnext from erpnext.assets.doctype.asset.asset import get_asset_value_after_depreciation from erpnext.assets.doctype.asset.depreciation import ( depreciate_asset, - get_disposal_account_and_cost_center, get_gl_entries_on_asset_disposal, get_value_after_depreciation_on_disposal_date, reset_depreciation_schedule, diff --git a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py index c87fff0b73e..bf1548c06f1 100644 --- a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py +++ b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py @@ -1,10 +1,9 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase -from frappe.utils import cint, flt, getdate, now_datetime +from frappe.utils import cint, flt, now_datetime from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries from erpnext.assets.doctype.asset.test_asset import ( @@ -12,9 +11,6 @@ from erpnext.assets.doctype.asset.test_asset import ( create_asset_data, set_depreciation_settings_in_company, ) -from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import ( - get_asset_depr_schedule_doc, -) from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( make_serial_batch_bundle, diff --git a/erpnext/assets/doctype/asset_category/test_asset_category.py b/erpnext/assets/doctype/asset_category/test_asset_category.py index 0f903c7f03a..ea68875a552 100644 --- a/erpnext/assets/doctype/asset_category/test_asset_category.py +++ b/erpnext/assets/doctype/asset_category/test_asset_category.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py index 773a6ca8e7d..b258fa11301 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py @@ -10,7 +10,6 @@ from frappe.utils import ( getdate, ) -import erpnext from erpnext.assets.doctype.asset_depreciation_schedule.deppreciation_schedule_controller import ( DepreciationScheduleController, ) diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py b/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py index 00d3921fcc5..f1be90edc46 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py @@ -14,7 +14,6 @@ from frappe.utils import ( nowdate, ) -import erpnext from erpnext.accounts.utils import get_fiscal_year from erpnext.assets.doctype.asset_depreciation_schedule.depreciation_methods import ( StraightLineMethod, diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py b/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py index f6dcb144c1e..8c4a4d07bcd 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py @@ -6,7 +6,6 @@ from frappe.utils import ( ) import erpnext -from erpnext.accounts.utils import get_fiscal_year # from erpnext.assets.doctype.asset_depreciation_schedule.deppreciation_schedule_controller import ( # _get_total_days, diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/test_asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/test_asset_depreciation_schedule.py index 2cca15a89f7..5fcef7aceb4 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/test_asset_depreciation_schedule.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/test_asset_depreciation_schedule.py @@ -3,7 +3,7 @@ import frappe from frappe.tests import IntegrationTestCase -from frappe.utils import cstr, date_diff, flt, getdate +from frappe.utils import cstr, flt, getdate from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.assets.doctype.asset.depreciation import ( diff --git a/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py index 391872c8438..8b22991f7b0 100644 --- a/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py +++ b/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py b/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py index 6d19f5b17d9..7842e41bd2f 100644 --- a/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py +++ b/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py b/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py index 00441a8368a..1d0c51f3f09 100644 --- a/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py +++ b/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/asset_movement/test_asset_movement.py b/erpnext/assets/doctype/asset_movement/test_asset_movement.py index 620ea434e24..29d9ba72328 100644 --- a/erpnext/assets/doctype/asset_movement/test_asset_movement.py +++ b/erpnext/assets/doctype/asset_movement/test_asset_movement.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/asset_repair/test_asset_repair.py b/erpnext/assets/doctype/asset_repair/test_asset_repair.py index 15ceb51648b..7350bb660b6 100644 --- a/erpnext/assets/doctype/asset_repair/test_asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/test_asset_repair.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe import qb @@ -51,7 +50,9 @@ class TestAssetRepair(IntegrationTestCase): submit=1, ) - si = make_sales_invoice(asset=asset.name, item_code="Macbook Pro", company="_Test Company") + si = make_sales_invoice( + asset=asset.name, item_code="Macbook Pro", company="_Test Company", sell_qty=asset.asset_quantity + ) si.customer = "_Test Customer" si.due_date = date si.get("items")[0].rate = 25000 diff --git a/erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py b/erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py index e273b997a3d..78b7e92672d 100644 --- a/erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py +++ b/erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py @@ -7,7 +7,6 @@ from frappe.model.document import Document from frappe.utils import ( add_months, cint, - flt, get_last_day, get_link_to_form, is_last_day_of_the_month, diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py index 982c6f4fc7d..c033cda05b5 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py @@ -74,7 +74,7 @@ class AssetValueAdjustment(Document): ) def on_cancel(self): - frappe.get_doc("Journal Entry", self.journal_entry).cancel() + self.cancel_asset_revaluation_entry() self.update_asset() add_asset_activity( self.asset, @@ -167,6 +167,17 @@ class AssetValueAdjustment(Document): if dimension.get("mandatory_for_pl"): debit_entry.update({dimension["fieldname"]: dimension_value}) + def cancel_asset_revaluation_entry(self): + if not self.journal_entry: + return + + revaluation_entry = frappe.get_doc("Journal Entry", self.journal_entry) + if revaluation_entry.docstatus == 1: + # Ignore permissions to match Journal Entry submission behavior + revaluation_entry.flags.ignore_permissions = True + revaluation_entry.flags.via_asset_value_adjustment = True + revaluation_entry.cancel() + def update_asset(self): asset = self.update_asset_value_after_depreciation() note = self.get_adjustment_note() diff --git a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py index 1425bb9aa78..ba45510191e 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/location/test_location.py b/erpnext/assets/doctype/location/test_location.py index 8de97138f7b..6d777c06181 100644 --- a/erpnext/assets/doctype/location/test_location.py +++ b/erpnext/assets/doctype/location/test_location.py @@ -1,7 +1,6 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import json -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py b/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py index a4795c54a56..5de115f22a3 100644 --- a/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py +++ b/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py index 2103379df93..c15c2d14621 100644 --- a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py +++ b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py @@ -15,7 +15,6 @@ from erpnext.accounts.report.financial_statements import ( validate_fiscal_year, ) from erpnext.accounts.utils import get_fiscal_year -from erpnext.assets.doctype.asset.asset import get_asset_value_after_depreciation def execute(filters=None): diff --git a/erpnext/buying/doctype/buying_settings/test_buying_settings.py b/erpnext/buying/doctype/buying_settings/test_buying_settings.py index 04f95dbe745..2946685ee87 100644 --- a/erpnext/buying/doctype/buying_settings/test_buying_settings.py +++ b/erpnext/buying/doctype/buying_settings/test_buying_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index aa4668923b8..68ec5b99f61 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -805,8 +805,6 @@ class TestPurchaseOrder(IntegrationTestCase): po_doc.reload() self.assertEqual(po_doc.advance_paid, 5000) - from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice - company_doc.book_advance_payments_in_separate_party_account = False company_doc.save() @@ -1330,6 +1328,55 @@ class TestPurchaseOrder(IntegrationTestCase): pi = make_pi_from_po(po.name) self.assertEqual(pi.items[0].qty, 50) + def test_multiple_advances_against_purchase_order_are_allocated_across_partial_purchase_invoices(self): + # step - 1: create PO + po = create_purchase_order(qty=10, rate=10) + + # step - 2: create first partial advance payment + pe1 = get_payment_entry("Purchase Order", po.name, bank_account="_Test Bank - _TC") + pe1.reference_no = "1" + pe1.reference_date = nowdate() + pe1.paid_amount = 50 + pe1.references[0].allocated_amount = 50 + pe1.save(ignore_permissions=True).submit() + + # check first advance paid against PO + po.reload() + self.assertEqual(po.advance_paid, 50) + + # step - 3: create first PI for partial qty and allocate first advance + pi_1 = make_pi_from_po(po.name) + pi_1.update_stock = 1 + pi_1.allocate_advances_automatically = 1 + pi_1.items[0].qty = 5 + pi_1.save(ignore_permissions=True).submit() + + # step - 4: create second advance payment for remaining + pe2 = get_payment_entry("Purchase Order", po.name, bank_account="_Test Bank - _TC") + pe2.reference_no = "2" + pe2.reference_date = nowdate() + pe2.paid_amount = 50 + pe2.references[0].allocated_amount = 50 + pe2.save(ignore_permissions=True).submit() + + # check second advance paid against PO + po.reload() + self.assertEqual(po.advance_paid, 100) + + # step - 5: create second PI for remaining qty and allocate second advance + pi_2 = make_pi_from_po(po.name) + pi_2.update_stock = 1 + pi_2.allocate_advances_automatically = 1 + pi_2.save(ignore_permissions=True).submit() + + # check PO and PI status + po.reload() + pi_1.reload() + pi_2.reload() + self.assertEqual(pi_1.status, "Paid") + self.assertEqual(pi_2.status, "Paid") + self.assertEqual(po.status, "Completed") + def create_po_for_sc_testing(): from erpnext.controllers.tests.test_subcontracting_controller import ( diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json index 125a8b6adb1..a801a2a601d 100644 --- a/erpnext/buying/doctype/supplier/supplier.json +++ b/erpnext/buying/doctype/supplier/supplier.json @@ -383,7 +383,7 @@ }, { "fieldname": "primary_address", - "fieldtype": "Text", + "fieldtype": "Text Editor", "label": "Primary Address", "read_only": 1 }, @@ -500,7 +500,7 @@ "link_fieldname": "party" } ], - "modified": "2025-06-29 05:30:50.398653", + "modified": "2026-01-16 15:56:31.139206", "modified_by": "Administrator", "module": "Buying", "name": "Supplier", diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py index f5005fbc12a..543b3726089 100644 --- a/erpnext/buying/doctype/supplier/supplier.py +++ b/erpnext/buying/doctype/supplier/supplier.py @@ -62,7 +62,7 @@ class Supplier(TransactionBase): portal_users: DF.Table[PortalUser] prevent_pos: DF.Check prevent_rfqs: DF.Check - primary_address: DF.Text | None + primary_address: DF.TextEditor | None release_date: DF.Date | None represents_company: DF.Link | None supplier_details: DF.Text | None diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js index 93f52d6ec42..4beb17d7cf6 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js @@ -16,6 +16,14 @@ erpnext.buying.SupplierQuotationController = class SupplierQuotationController e return !doc.qty && me.frm.doc.has_unit_price_items ? "yellow" : ""; }); + this.frm.set_query("warehouse", "items", (doc, cdt, cdn) => { + return { + filters: { + company: doc.company, + is_group: 0, + }, + }; + }); super.setup(); } diff --git a/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py b/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py index 2b124dede99..b4975edfc75 100644 --- a/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py +++ b/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py b/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py index 32581538b03..97cb93f4c69 100644 --- a/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py +++ b/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py index db93a3d7e79..09bfc12a351 100644 --- a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py +++ b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py @@ -8,8 +8,6 @@ import frappe from frappe import _ from frappe.utils import cint, flt -from erpnext.setup.utils import get_exchange_rate - def execute(filters=None): if not filters: diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 73cc888fc4a..a97fb4000fb 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -187,9 +187,8 @@ class AccountsController(TransactionBase): msg = "" if self.get("update_outstanding_for_self"): - msg = ( - "We can see {0} is made against {1}. If you want {1}'s outstanding to be updated, " - "uncheck '{2}' checkbox.

Or" + msg = _( + "We can see {0} is made against {1}. If you want {1}'s outstanding to be updated, uncheck the '{2}' checkbox." ).format( frappe.bold(document_type), get_link_to_form(self.doctype, self.get("return_against")), @@ -200,8 +199,8 @@ class AccountsController(TransactionBase): abs(flt(self.rounded_total) or flt(self.grand_total)) > flt(against_voucher_outstanding) ): self.update_outstanding_for_self = 1 - msg = ( - "The outstanding amount {} in {} is lesser than {}. Updating the outstanding to this invoice.

And" + msg = _( + "The outstanding amount {0} in {1} is lesser than {2}. Updating the outstanding to this invoice." ).format( against_voucher_outstanding, get_link_to_form(self.doctype, self.get("return_against")), @@ -209,11 +208,11 @@ class AccountsController(TransactionBase): ) if msg: - msg += " you can use {} tool to reconcile against {} later.".format( + msg += "

" + _("You can use {0} to reconcile against {1} later.").format( get_link_to_form("Payment Reconciliation"), get_link_to_form(self.doctype, self.get("return_against")), ) - frappe.msgprint(_(msg)) + frappe.msgprint(msg) def validate(self): if not self.get("is_return") and not self.get("is_debit_note"): diff --git a/erpnext/controllers/budget_controller.py b/erpnext/controllers/budget_controller.py index 5c7692a4433..547edeb1f02 100644 --- a/erpnext/controllers/budget_controller.py +++ b/erpnext/controllers/budget_controller.py @@ -4,7 +4,7 @@ import frappe from frappe import _, qb from frappe.query_builder import Criterion from frappe.query_builder.functions import IfNull, Sum -from frappe.utils import flt, fmt_money, get_link_to_form +from frappe.utils import fmt_money from erpnext.accounts.doctype.budget.budget import BudgetError, get_accumulated_monthly_budget from erpnext.accounts.utils import get_fiscal_year diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py index b4f618aecaa..164d78f32b7 100644 --- a/erpnext/controllers/sales_and_purchase_return.py +++ b/erpnext/controllers/sales_and_purchase_return.py @@ -7,7 +7,7 @@ import frappe from frappe import _, bold from frappe.model.meta import get_field_precision from frappe.query_builder import DocType -from frappe.query_builder.functions import Abs, Sum +from frappe.query_builder.functions import Abs from frappe.utils import cint, flt, format_datetime, get_datetime import erpnext diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py index c6daf7ead01..c06543f1e90 100644 --- a/erpnext/controllers/subcontracting_controller.py +++ b/erpnext/controllers/subcontracting_controller.py @@ -610,7 +610,9 @@ class SubcontractingController(StockController): and self.doctype != "Subcontracting Inward Order" ): row.reserve_warehouse = self.set_reserve_warehouse or item.warehouse - elif frappe.get_cached_value("Item", row.rm_item_code, "is_customer_provided_item"): + elif frappe.get_cached_value("Item", row.rm_item_code, "is_customer_provided_item") and self.get( + "customer_warehouse" + ): row.warehouse = self.customer_warehouse def __set_alternative_item(self, bom_item): @@ -728,7 +730,6 @@ class SubcontractingController(StockController): self.set_batch_for_supplied_items() def set_batch_for_supplied_items(self): - from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos_for_outward from erpnext.stock.get_item_details import get_filtered_serial_nos if self.is_return: diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 08b1fb32bf3..773bd25ec4a 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -13,7 +13,6 @@ from frappe.utils import cint, flt, round_based_on_smallest_currency_fraction import erpnext from erpnext.accounts.doctype.journal_entry.journal_entry import get_exchange_rate from erpnext.accounts.doctype.pricing_rule.utils import get_applied_pricing_rules -from erpnext.accounts.utils import get_zero_cutoff from erpnext.controllers.accounts_controller import ( validate_conversion_rate, validate_inclusive_tax, @@ -39,17 +38,23 @@ class calculate_taxes_and_totals: items = list(filter(lambda item: not item.get("is_alternative"), self.doc.get("items"))) return items - def calculate(self): + def calculate(self, ignore_tax_template_validation=False): if not len(self.doc.items): return self.discount_amount_applied = False + self.need_recomputation = False + self.ignore_tax_template_validation = ignore_tax_template_validation + self._calculate() if self.doc.meta.get_field("discount_amount"): self.set_discount_amount() self.apply_discount_amount() + if not ignore_tax_template_validation and self.need_recomputation: + return self.calculate(ignore_tax_template_validation=True) + # Update grand total as per cash and non trade discount if self.doc.apply_discount_on == "Grand Total" and self.doc.get("is_cash_or_non_trade_discount"): self.doc.grand_total -= self.doc.discount_amount @@ -79,6 +84,9 @@ class calculate_taxes_and_totals: self.calculate_total_net_weight() def validate_item_tax_template(self): + if self.ignore_tax_template_validation: + return + if self.doc.get("is_return") and self.doc.get("return_against"): return @@ -122,6 +130,10 @@ class calculate_taxes_and_totals: ) ) + # For correct tax_amount calculation re-computation is required + if self.discount_amount_applied and self.doc.apply_discount_on == "Grand Total": + self.need_recomputation = True + def update_item_tax_map(self): for item in self.doc.items: item.item_tax_rate = get_item_tax_map( @@ -1239,11 +1251,6 @@ def get_itemised_tax(doc, with_tax_account=False): return itemised_tax -from erpnext.deprecation_dumpster import ( - taxes_and_totals_get_itemised_taxable_amount as get_itemised_taxable_amount, -) - - def get_rounded_tax_amount(itemised_tax, precision): # Rounding based on tax_amount precision for taxes in itemised_tax: diff --git a/erpnext/controllers/tests/test_accounts_controller.py b/erpnext/controllers/tests/test_accounts_controller.py index 44e3d6a7bf4..43aaec4bb96 100644 --- a/erpnext/controllers/tests/test_accounts_controller.py +++ b/erpnext/controllers/tests/test_accounts_controller.py @@ -2,8 +2,6 @@ # For license information, please see license.txt -from datetime import datetime - import frappe from frappe import qb from frappe.query_builder.functions import Sum diff --git a/erpnext/controllers/tests/test_item_variant.py b/erpnext/controllers/tests/test_item_variant.py index 585a63ca798..6bbe6cd035c 100644 --- a/erpnext/controllers/tests/test_item_variant.py +++ b/erpnext/controllers/tests/test_item_variant.py @@ -1,5 +1,4 @@ import json -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/controllers/tests/test_item_wise_inventory_account.py b/erpnext/controllers/tests/test_item_wise_inventory_account.py index e8b2c1343e7..a783193d60e 100644 --- a/erpnext/controllers/tests/test_item_wise_inventory_account.py +++ b/erpnext/controllers/tests/test_item_wise_inventory_account.py @@ -1,12 +1,10 @@ # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -import copy -from collections import defaultdict import frappe from frappe.tests import IntegrationTestCase -from frappe.utils import add_days, cint, today +from frappe.utils import add_days, today from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record diff --git a/erpnext/controllers/tests/test_item_wise_tax_details.py b/erpnext/controllers/tests/test_item_wise_tax_details.py index 7628f77f7e3..138429dcee9 100644 --- a/erpnext/controllers/tests/test_item_wise_tax_details.py +++ b/erpnext/controllers/tests/test_item_wise_tax_details.py @@ -1,10 +1,6 @@ -import json - import frappe from frappe.tests.utils import FrappeTestCase -from erpnext.controllers.taxes_and_totals import calculate_taxes_and_totals - class TestTaxesAndTotals(FrappeTestCase): def setUp(self): diff --git a/erpnext/controllers/tests/test_mapper.py b/erpnext/controllers/tests/test_mapper.py index 53eb75058ec..5d20684ff03 100644 --- a/erpnext/controllers/tests/test_mapper.py +++ b/erpnext/controllers/tests/test_mapper.py @@ -1,5 +1,4 @@ import json -import unittest import frappe import frappe.utils diff --git a/erpnext/controllers/tests/test_qty_based_taxes.py b/erpnext/controllers/tests/test_qty_based_taxes.py index d2fefa5b3b6..27b4d57aa3c 100644 --- a/erpnext/controllers/tests/test_qty_based_taxes.py +++ b/erpnext/controllers/tests/test_qty_based_taxes.py @@ -1,4 +1,3 @@ -import unittest from uuid import uuid4 as _uuid4 import frappe diff --git a/erpnext/controllers/tests/test_queries.py b/erpnext/controllers/tests/test_queries.py index f7129a240b6..1f17e91231e 100644 --- a/erpnext/controllers/tests/test_queries.py +++ b/erpnext/controllers/tests/test_queries.py @@ -1,4 +1,3 @@ -import unittest from functools import partial import frappe diff --git a/erpnext/controllers/tests/test_reactivity.py b/erpnext/controllers/tests/test_reactivity.py index b6baad2fab2..c748003a6f6 100644 --- a/erpnext/controllers/tests/test_reactivity.py +++ b/erpnext/controllers/tests/test_reactivity.py @@ -1,9 +1,8 @@ import frappe from frappe import qb from frappe.tests import IntegrationTestCase -from frappe.utils import getdate, today +from frappe.utils import today -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import disable_dimension from erpnext.accounts.test.accounts_mixin import AccountsTestMixin diff --git a/erpnext/controllers/tests/test_transaction_base.py b/erpnext/controllers/tests/test_transaction_base.py index cfb2dffabb6..fca8c03c5fb 100644 --- a/erpnext/controllers/tests/test_transaction_base.py +++ b/erpnext/controllers/tests/test_transaction_base.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/appointment/test_appointment.py b/erpnext/crm/doctype/appointment/test_appointment.py index e88a3dc67e5..ed8ca5c1bff 100644 --- a/erpnext/crm/doctype/appointment/test_appointment.py +++ b/erpnext/crm/doctype/appointment/test_appointment.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import datetime -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py b/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py index 0fca8a59da3..f06d6f807f3 100644 --- a/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py +++ b/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/campaign/test_campaign.py b/erpnext/crm/doctype/campaign/test_campaign.py index 878c18664ad..7442fb7c731 100644 --- a/erpnext/crm/doctype/campaign/test_campaign.py +++ b/erpnext/crm/doctype/campaign/test_campaign.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/competitor/test_competitor.py b/erpnext/crm/doctype/competitor/test_competitor.py index 2fbe068e8a7..4b24378337e 100644 --- a/erpnext/crm/doctype/competitor/test_competitor.py +++ b/erpnext/crm/doctype/competitor/test_competitor.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/contract/test_contract.py b/erpnext/crm/doctype/contract/test_contract.py index 2ea083834ce..de7aba10e1a 100644 --- a/erpnext/crm/doctype/contract/test_contract.py +++ b/erpnext/crm/doctype/contract/test_contract.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py b/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py index becb1674190..f3cfec6ba0e 100644 --- a/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py +++ b/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/contract_template/test_contract_template.py b/erpnext/crm/doctype/contract_template/test_contract_template.py index 4b2911945d0..b4271fad8a1 100644 --- a/erpnext/crm/doctype/contract_template/test_contract_template.py +++ b/erpnext/crm/doctype/contract_template/test_contract_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/crm_settings/test_crm_settings.py b/erpnext/crm/doctype/crm_settings/test_crm_settings.py index 22109d960dd..722810264f6 100644 --- a/erpnext/crm/doctype/crm_settings/test_crm_settings.py +++ b/erpnext/crm/doctype/crm_settings/test_crm_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/email_campaign/test_email_campaign.py b/erpnext/crm/doctype/email_campaign/test_email_campaign.py index b94a41e7820..f865ab05273 100644 --- a/erpnext/crm/doctype/email_campaign/test_email_campaign.py +++ b/erpnext/crm/doctype/email_campaign/test_email_campaign.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/lead/test_lead.py b/erpnext/crm/doctype/lead/test_lead.py index b1b4e162b32..1ccaa5f8050 100644 --- a/erpnext/crm/doctype/lead/test_lead.py +++ b/erpnext/crm/doctype/lead/test_lead.py @@ -1,9 +1,7 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe -from frappe.tests import IntegrationTestCase from frappe.utils import random_string, today from erpnext.crm.doctype.lead.lead import make_opportunity diff --git a/erpnext/crm/doctype/market_segment/test_market_segment.py b/erpnext/crm/doctype/market_segment/test_market_segment.py index 4f42f704309..02aa6a2e7c9 100644 --- a/erpnext/crm/doctype/market_segment/test_market_segment.py +++ b/erpnext/crm/doctype/market_segment/test_market_segment.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/opportunity/test_opportunity.py b/erpnext/crm/doctype/opportunity/test_opportunity.py index db9866d9b89..4add7c4074a 100644 --- a/erpnext/crm/doctype/opportunity/test_opportunity.py +++ b/erpnext/crm/doctype/opportunity/test_opportunity.py @@ -1,9 +1,7 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest import frappe -from frappe.tests import IntegrationTestCase from frappe.utils import now_datetime, random_string, today from erpnext.crm.doctype.lead.lead import make_customer diff --git a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py index 91bbd0d7095..1e35529e69f 100644 --- a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py +++ b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/prospect/test_prospect.py b/erpnext/crm/doctype/prospect/test_prospect.py index d66f3d5a494..a349e2d978f 100644 --- a/erpnext/crm/doctype/prospect/test_prospect.py +++ b/erpnext/crm/doctype/prospect/test_prospect.py @@ -1,6 +1,5 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/doctype/sales_stage/test_sales_stage.py b/erpnext/crm/doctype/sales_stage/test_sales_stage.py index 24da6ce48f6..839e18c23e1 100644 --- a/erpnext/crm/doctype/sales_stage/test_sales_stage.py +++ b/erpnext/crm/doctype/sales_stage/test_sales_stage.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/crm/frappe_crm_api.py b/erpnext/crm/frappe_crm_api.py index 0bf78429b36..79a9f192782 100644 --- a/erpnext/crm/frappe_crm_api.py +++ b/erpnext/crm/frappe_crm_api.py @@ -1,7 +1,6 @@ import json import frappe -from frappe import _ from frappe.custom.doctype.custom_field.custom_field import create_custom_fields diff --git a/erpnext/crm/report/opportunity_summary_by_sales_stage/test_opportunity_summary_by_sales_stage.py b/erpnext/crm/report/opportunity_summary_by_sales_stage/test_opportunity_summary_by_sales_stage.py index 63d6cae3b00..10447f39c92 100644 --- a/erpnext/crm/report/opportunity_summary_by_sales_stage/test_opportunity_summary_by_sales_stage.py +++ b/erpnext/crm/report/opportunity_summary_by_sales_stage/test_opportunity_summary_by_sales_stage.py @@ -1,6 +1,3 @@ -import unittest - -import frappe from frappe.tests import IntegrationTestCase from erpnext.crm.report.opportunity_summary_by_sales_stage.opportunity_summary_by_sales_stage import ( diff --git a/erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py b/erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py index 47e21d98cb3..847e871f61e 100644 --- a/erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py +++ b/erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py @@ -2,7 +2,6 @@ # For license information, please see license.txt import json -from datetime import date from itertools import groupby import frappe diff --git a/erpnext/crm/report/sales_pipeline_analytics/test_sales_pipeline_analytics.py b/erpnext/crm/report/sales_pipeline_analytics/test_sales_pipeline_analytics.py index b29668fa030..0bb90923e57 100644 --- a/erpnext/crm/report/sales_pipeline_analytics/test_sales_pipeline_analytics.py +++ b/erpnext/crm/report/sales_pipeline_analytics/test_sales_pipeline_analytics.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/desktop_icon/banking.json b/erpnext/desktop_icon/banking.json index 71a36f21da4..ad2c366716c 100644 --- a/erpnext/desktop_icon/banking.json +++ b/erpnext/desktop_icon/banking.json @@ -9,8 +9,8 @@ "idx": 5, "label": "Banking", "link_to": "Banking", - "link_type": "Workspace", - "modified": "2026-01-02 13:03:29.270503", + "link_type": "Workspace Sidebar", + "modified": "2026-01-12 12:29:48.687545", "modified_by": "Administrator", "name": "Banking", "owner": "Administrator", diff --git a/erpnext/desktop_icon/share_management.json b/erpnext/desktop_icon/share_management.json new file mode 100644 index 00000000000..5f251ada959 --- /dev/null +++ b/erpnext/desktop_icon/share_management.json @@ -0,0 +1,20 @@ +{ + "app": "erpnext", + "creation": "2026-01-12 12:31:53.444807", + "docstatus": 0, + "doctype": "Desktop Icon", + "hidden": 0, + "icon_type": "Link", + "idx": 8, + "label": "Share Management", + "link_to": "Share Management", + "link_type": "Workspace Sidebar", + "modified": "2026-01-12 12:31:53.444807", + "modified_by": "Administrator", + "name": "Share Management", + "owner": "Administrator", + "parent_icon": "Accounts", + "restrict_removal": 0, + "roles": [], + "standard": 1 +} diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py index cb9f49e8c28..00fec59dada 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py @@ -3,7 +3,6 @@ import frappe import plaid -import requests from frappe import _ from plaid.errors import APIError, InvalidRequestError, ItemError diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py b/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py index 891a6bd10df..51b2519c659 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import json -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 6985b1fcb80..55d9021e63d 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -8,7 +8,7 @@ app_email = "hello@frappe.io" app_license = "GNU General Public License (v3)" source_link = "https://github.com/frappe/erpnext" app_logo_url = "/assets/erpnext/images/erpnext-logo.svg" -app_home = "/app/home" +app_home = "/desk" add_to_apps_screen = [ { @@ -20,7 +20,7 @@ add_to_apps_screen = [ } ] -develop_version = "15.x.x-develop" +develop_version = "17.x.x-develop" app_include_js = "erpnext.bundle.js" app_include_css = "erpnext.bundle.css" diff --git a/erpnext/locale/fa.po b/erpnext/locale/fa.po index 162ecc50316..9d43a37351b 100644 --- a/erpnext/locale/fa.po +++ b/erpnext/locale/fa.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: hello@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:37+0000\n" -"PO-Revision-Date: 2026-01-05 05:31\n" +"PO-Revision-Date: 2026-01-13 07:06\n" "Last-Translator: hello@frappe.io\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -825,7 +825,7 @@ msgstr "" #. Header text in the Stock Workspace #: erpnext/stock/workspace/stock/stock.json msgid "Masters & Reports" -msgstr "مستندات و گزارش ها" +msgstr "مستندات و گزارش‌ها" #. Header text in the Selling Workspace #. Header text in the Stock Workspace @@ -837,7 +837,7 @@ msgstr "دسترسی سریع" #. Header text in the Assets Workspace #: erpnext/assets/workspace/assets/assets.json msgid "Reports & Masters" -msgstr "گزارش ها و مستندات" +msgstr "گزارش‌ها و مستندات" #. Header text in the Accounting Workspace #. Header text in the Payables Workspace @@ -862,7 +862,7 @@ msgstr "گزارش ها و مستندات" #: erpnext/setup/workspace/home/home.json #: erpnext/support/workspace/support/support.json msgid "Reports & Masters" -msgstr "گزارش ها و مستندات" +msgstr "گزارش‌ها و مستندات" #. Header text in the Payables Workspace #. Header text in the Receivables Workspace @@ -20765,7 +20765,7 @@ msgstr "" #: erpnext/assets/doctype/asset/depreciation.py:347 msgid "Here are the error logs for the aforementioned failed depreciation entries: {0}" -msgstr "در اینجا گزارش های خطا برای ثبت‌های استهلاک ناموفق فوق الذکر آمده است: {0}" +msgstr "در اینجا گزارش‌های خطا برای ثبت‌های استهلاک ناموفق فوق الذکر آمده است: {0}" #: erpnext/stock/stock_ledger.py:2030 msgid "Here are the options to proceed:" @@ -25640,7 +25640,7 @@ msgstr "کلوین" #: erpnext/selling/workspace/selling/selling.json #: erpnext/stock/workspace/stock/stock.json msgid "Key Reports" -msgstr "گزارش های کلیدی" +msgstr "گزارش‌های کلیدی" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -31184,7 +31184,7 @@ msgstr "سایر اطلاعات" #: erpnext/selling/workspace/selling/selling.json #: erpnext/stock/workspace/stock/stock.json msgid "Other Reports" -msgstr "سایر گزارش ها" +msgstr "سایر گزارش‌ها" #. Label of the other_settings_section (Section Break) field in DocType #. 'Manufacturing Settings' @@ -49881,7 +49881,7 @@ msgstr "افتتاح حساب موقت" #. Label of the terms (Text Editor) field in DocType 'Quotation' #: erpnext/selling/doctype/quotation/quotation.json msgid "Term Details" -msgstr "جزئیات مدت" +msgstr "جزئیات دوره" #. Label of the tc_name (Link) field in DocType 'POS Invoice' #. Label of the terms_tab (Tab Break) field in DocType 'POS Invoice' diff --git a/erpnext/locale/hu.po b/erpnext/locale/hu.po index 0d10603c563..1fae6eeacd6 100644 --- a/erpnext/locale/hu.po +++ b/erpnext/locale/hu.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: hello@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:37+0000\n" -"PO-Revision-Date: 2026-01-07 05:35\n" +"PO-Revision-Date: 2026-01-17 08:11\n" "Last-Translator: hello@frappe.io\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -1070,7 +1070,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Abampere" -msgstr "" +msgstr "Abampere" #. Label of the abbr (Data) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -1170,7 +1170,7 @@ msgstr "" #. Description of the 'Common Code' (Data) field in DocType 'UOM' #: erpnext/setup/doctype/uom/uom.json msgid "According to CEFACT/ICG/2010/IC013 or CEFACT/ICG/2010/IC010" -msgstr "" +msgstr "A CEFACT/ICG/2010/IC013 vagy a CEFACT/ICG/2010/IC010 szerint" #: erpnext/stock/doctype/stock_entry/stock_entry.py:939 msgid "According to the BOM {0}, the Item '{1}' is missing in the stock entry." @@ -2099,12 +2099,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Acre" -msgstr "" +msgstr "Hold" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Acre (US)" -msgstr "" +msgstr "Hold (USA)" #. Label of the action_if_quality_inspection_is_not_submitted (Select) field in #. DocType 'Stock Settings' @@ -4076,7 +4076,7 @@ msgstr "" #. DocType 'Stock Settings' #: erpnext/stock/doctype/stock_settings/stock_settings.json msgid "Allow UOM with Conversion Rate Defined in Item" -msgstr "" +msgstr "Engedélyezi a tételben meghatározott átváltási árfolyammal rendelkező mértékegységet" #. Label of the allow_discount_change (Check) field in DocType 'POS Profile' #: erpnext/accounts/doctype/pos_profile/pos_profile.json @@ -4098,7 +4098,7 @@ msgstr "" #. Settings' #: erpnext/stock/doctype/item_variant_settings/item_variant_settings.json msgid "Allow Variant UOM to be different from Template UOM" -msgstr "" +msgstr "Engedélyezi a variáns mértékegysége eltérjen a sablon mértékegységétől" #. Label of the allow_zero_rate (Check) field in DocType 'Repost Item #. Valuation' @@ -4152,13 +4152,13 @@ msgstr "" #. DocType 'Stock Settings' #: erpnext/stock/doctype/stock_settings/stock_settings.json msgid "Allow to Edit Stock UOM Qty for Purchase Documents" -msgstr "" +msgstr "Lehetővé teszi a mennyiségi egység ME szerkesztését a raktárkezelésben a beszerzési dokumentumok esetében" #. Label of the allow_to_edit_stock_uom_qty_for_sales (Check) field in DocType #. 'Stock Settings' #: erpnext/stock/doctype/stock_settings/stock_settings.json msgid "Allow to Edit Stock UOM Qty for Sales Documents" -msgstr "" +msgstr "Lehetővé teszi a mennyiségi egység ME szerkesztését a raktárkezelésben az értékesítési dokumentumok esetében" #. Label of the allow_to_make_quality_inspection_after_purchase_or_delivery #. (Check) field in DocType 'Stock Settings' @@ -4630,22 +4630,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ampere" -msgstr "" +msgstr "Amper" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ampere-Hour" -msgstr "" +msgstr "Amperóra" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ampere-Minute" -msgstr "" +msgstr "Amper-perc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ampere-Second" -msgstr "" +msgstr "Amper-másodperc" #: erpnext/controllers/trends.py:269 erpnext/controllers/trends.py:281 #: erpnext/controllers/trends.py:290 @@ -5095,7 +5095,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Are" -msgstr "" +msgstr "Ár" #: erpnext/public/js/utils/demo.js:20 msgid "Are you sure you want to clear all demo data?" @@ -5122,12 +5122,12 @@ msgstr "" #: erpnext/assets/doctype/location/location.json #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Area" -msgstr "" +msgstr "Terület" #. Label of the area_uom (Link) field in DocType 'Location' #: erpnext/assets/doctype/location/location.json msgid "Area UOM" -msgstr "" +msgstr "Terület MEE" #: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:435 msgid "Arrival Quantity" @@ -5136,7 +5136,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Arshin" -msgstr "" +msgstr "Arshin" #: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:57 #: erpnext/stock/report/stock_ageing/stock_ageing.js:16 @@ -5829,7 +5829,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Atmosphere" -msgstr "" +msgstr "Atmoszféra" #: erpnext/public/js/utils/serial_no_batch_selector.js:244 #: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.js:73 @@ -7171,12 +7171,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Barleycorn" -msgstr "" +msgstr "Árpaszem" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Barrel (Oil)" -msgstr "" +msgstr "Hordó (Olaj)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -7491,13 +7491,13 @@ msgstr "" #. Label of the stock_uom (Link) field in DocType 'Batch' #: erpnext/stock/doctype/batch/batch.json msgid "Batch UOM" -msgstr "" +msgstr "Kötegelt MEE" #. Label of the batch_and_serial_no_section (Section Break) field in DocType #. 'Asset Capitalization Stock Item' #: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json msgid "Batch and Serial No" -msgstr "" +msgstr "Köteg- és sorozatszám" #: erpnext/manufacturing/doctype/work_order/work_order.py:880 msgid "Batch not created for item {} since it does not have a batch series." @@ -7810,7 +7810,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Biot" -msgstr "" +msgstr "Biot" #: erpnext/setup/setup_wizard/data/industry_type.txt:9 msgid "Biotechnology" @@ -7952,13 +7952,13 @@ msgstr "" #. Label of the bold_text (Check) field in DocType 'Financial Report Row' #: erpnext/accounts/doctype/financial_report_row/financial_report_row.json msgid "Bold Text" -msgstr "" +msgstr "Félkövér Szöveg" #. Description of the 'Bold Text' (Check) field in DocType 'Financial Report #. Row' #: erpnext/accounts/doctype/financial_report_row/financial_report_row.json msgid "Bold text for emphasis (totals, major headings)" -msgstr "" +msgstr "Félkövér szöveg a kiemeléshez (összesítések, főbb címsorok)" #: erpnext/accounts/doctype/payment_entry/payment_entry.py:282 msgid "Book Advance Payments as Liability option is chosen. Paid From account changed from {0} to {1}." @@ -8049,7 +8049,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Box" -msgstr "" +msgstr "Doboz" #. Label of the branch (Link) field in DocType 'SMS Center' #. Name of a DocType @@ -8098,11 +8098,11 @@ msgstr "" #: erpnext/setup/setup_wizard/data/industry_type.txt:10 msgid "Broadcasting" -msgstr "" +msgstr "Műsorszolgáltatás" #: erpnext/setup/setup_wizard/data/industry_type.txt:11 msgid "Brokerage" -msgstr "" +msgstr "Közvetítés" #: erpnext/manufacturing/doctype/bom/bom.js:165 msgid "Browse BOM" @@ -8111,36 +8111,36 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu (It)" -msgstr "" +msgstr "Btu (It)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu (Mean)" -msgstr "" +msgstr "Btu (Átlag)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu (Th)" -msgstr "" +msgstr "Btu (Th)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu/Hour" -msgstr "" +msgstr "Btu/óra" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu/Minutes" -msgstr "" +msgstr "Btu/perc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Btu/Seconds" -msgstr "" +msgstr "Btu/másodperc" #: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.js:101 msgid "Bucket Size" -msgstr "" +msgstr "Vödör Mérete" #. Label of the budget_settings (Tab Break) field in DocType 'Accounts #. Settings' @@ -8179,7 +8179,7 @@ msgstr "" #: erpnext/accounts/doctype/budget/budget.py:84 msgid "Budget Amount can not be {0}." -msgstr "" +msgstr "A költségvetés összege nem lehet {0}." #. Label of the budget_detail (Section Break) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -8191,28 +8191,28 @@ msgstr "" #: erpnext/accounts/doctype/budget/budget.json #: erpnext/accounts/doctype/budget_distribution/budget_distribution.json msgid "Budget Distribution" -msgstr "" +msgstr "Költségvetés Eloszlása" #. Label of the budget_distribution_total (Currency) field in DocType 'Budget' #: erpnext/accounts/doctype/budget/budget.json msgid "Budget Distribution Total" -msgstr "" +msgstr "Költségvetés Eloszlás Összesen" #. Label of the budget_end_date (Date) field in DocType 'Budget' #: erpnext/accounts/doctype/budget/budget.json msgid "Budget End Date" -msgstr "" +msgstr "Költségvetés Vége" #: erpnext/accounts/doctype/budget/budget.py:570 #: erpnext/accounts/doctype/budget/budget.py:572 #: erpnext/controllers/budget_controller.py:289 #: erpnext/controllers/budget_controller.py:292 msgid "Budget Exceeded" -msgstr "" +msgstr "Költségvetés Túllépéve" #: erpnext/accounts/doctype/budget/budget.py:229 msgid "Budget Limit Exceeded" -msgstr "" +msgstr "Költségvetési Korlát Túllépéve" #: erpnext/accounts/doctype/cost_center/cost_center_tree.js:61 msgid "Budget List" @@ -8221,7 +8221,7 @@ msgstr "" #. Label of the budget_start_date (Date) field in DocType 'Budget' #: erpnext/accounts/doctype/budget/budget.json msgid "Budget Start Date" -msgstr "" +msgstr "Költségvetés Kezdete" #. Name of a report #. Label of a Link in the Accounting Workspace @@ -8256,15 +8256,15 @@ msgstr "" #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:162 msgid "Build All?" -msgstr "" +msgstr "Összes építése?" #: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js:20 msgid "Build Tree" -msgstr "" +msgstr "Építési fa" #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:155 msgid "Buildable Qty" -msgstr "" +msgstr "Építhető Mennyiség" #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:61 #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:102 @@ -8273,24 +8273,24 @@ msgstr "" #: erpnext/utilities/doctype/rename_tool/rename_tool.js:70 msgid "Bulk Rename Jobs" -msgstr "" +msgstr "Tömeges Átnevezési Feladatok" #. Name of a DocType #: erpnext/bulk_transaction/doctype/bulk_transaction_log/bulk_transaction_log.json msgid "Bulk Transaction Log" -msgstr "" +msgstr "Tömeges Tranzakció Napló" #. Name of a DocType #: erpnext/bulk_transaction/doctype/bulk_transaction_log_detail/bulk_transaction_log_detail.json msgid "Bulk Transaction Log Detail" -msgstr "" +msgstr "Tömeges Tranzakció Napló Részletek" #. Label of the packed_items (Table) field in DocType 'Quotation' #. Label of the bundle_items_section (Section Break) field in DocType #. 'Quotation' #: erpnext/selling/doctype/quotation/quotation.json msgid "Bundle Items" -msgstr "" +msgstr "Kötegelt Tételek" #: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:95 msgid "Bundle Qty" @@ -8299,20 +8299,20 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Bushel (UK)" -msgstr "" +msgstr "Véka (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Bushel (US Dry Level)" -msgstr "" +msgstr "Véka (Amerikai Száraz Szint)" #: erpnext/setup/setup_wizard/data/designation.txt:6 msgid "Business Analyst" -msgstr "" +msgstr "Üzleti Elemző" #: erpnext/setup/setup_wizard/data/designation.txt:7 msgid "Business Development Manager" -msgstr "" +msgstr "Üzletfejlesztési Menedzser" #. Option for the 'Status' (Select) field in DocType 'Call Log' #: erpnext/telephony/doctype/call_log/call_log.json @@ -8355,7 +8355,7 @@ msgstr "" #. Label of the sales_settings (Section Break) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json msgid "Buying & Selling Settings" -msgstr "" +msgstr "Beszerzési és Értékesítési Beállítások" #: erpnext/accounts/report/gross_profit/gross_profit.py:357 msgid "Buying Amount" @@ -8381,7 +8381,7 @@ msgstr "" #. Label of the buying_and_selling_tab (Tab Break) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json msgid "Buying and Selling" -msgstr "" +msgstr "Beszerzés és Értékesítés" #: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:219 msgid "Buying must be checked, if Applicable For is selected as {0}" @@ -8399,7 +8399,7 @@ msgstr "" #: erpnext/selling/report/customer_credit_balance/customer_credit_balance.py:68 msgid "Bypass credit check at Sales Order" -msgstr "" +msgstr "Hitelkeret ellenőrzés kihagyása a Vevő Rendelésnél" #. Label of the cc_to (Table MultiSelect) field in DocType 'Process Statement #. Of Accounts' @@ -8410,7 +8410,7 @@ msgstr "" #. Option for the 'Barcode Type' (Select) field in DocType 'Item Barcode' #: erpnext/stock/doctype/item_barcode/item_barcode.json msgid "CODE-39" -msgstr "" +msgstr "CODE-39" #. Name of a report #: erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.json @@ -8425,12 +8425,12 @@ msgstr "" #. Label of a Card Break in the Home Workspace #: erpnext/crm/workspace/crm/crm.json erpnext/setup/workspace/home/home.json msgid "CRM" -msgstr "" +msgstr "CRM" #. Name of a DocType #: erpnext/crm/doctype/crm_note/crm_note.json msgid "CRM Note" -msgstr "" +msgstr "CRM Jegyzet" #. Name of a DocType #. Label of a Link in the CRM Workspace @@ -8447,22 +8447,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Caballeria" -msgstr "" +msgstr "Caballeria" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cable Length" -msgstr "" +msgstr "Vezetékhossz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cable Length (UK)" -msgstr "" +msgstr "Vezetékhossz (UK)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cable Length (US)" -msgstr "" +msgstr "Vezetékhossz (US)" #: erpnext/accounts/report/accounts_payable/accounts_payable.js:62 #: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:28 @@ -8540,7 +8540,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calibre" -msgstr "" +msgstr "Kaliber" #: erpnext/telephony/doctype/call_log/call_log.js:8 msgid "Call Again" @@ -8624,27 +8624,27 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calorie (Food)" -msgstr "" +msgstr "Kalória (élelmiszer)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calorie (It)" -msgstr "" +msgstr "Kalória (nemzetközi)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calorie (Mean)" -msgstr "" +msgstr "Kalória (átlag)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calorie (Th)" -msgstr "" +msgstr "Kalória (termokémiai)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Calorie/Seconds" -msgstr "" +msgstr "Kalória/másodperc" #. Name of a report #. Label of a Link in the CRM Workspace @@ -8905,11 +8905,11 @@ msgstr "" #: erpnext/accounts/general_ledger.py:148 msgid "Cannot create accounting entries against disabled accounts: {0}" -msgstr "" +msgstr "Nem lehet könyvelési tételeket létrehozni letiltott számlákhoz: {0}" #: erpnext/controllers/sales_and_purchase_return.py:375 msgid "Cannot create return for consolidated invoice {0}." -msgstr "" +msgstr "Nem lehet visszautalást létrehozni az összevont számlához {0}." #: erpnext/manufacturing/doctype/bom/bom.py:1120 msgid "Cannot deactivate or cancel BOM as it is linked with other BOMs" @@ -8926,7 +8926,7 @@ msgstr "" #: erpnext/accounts/doctype/payment_entry/payment_entry.js:1808 msgid "Cannot delete Exchange Gain/Loss row" -msgstr "" +msgstr "Nem lehet törölni az árfolyamnyereség/veszteség sort" #: erpnext/stock/doctype/serial_no/serial_no.py:120 msgid "Cannot delete Serial No {0}, as it is used in stock transactions" @@ -8934,7 +8934,7 @@ msgstr "" #: erpnext/controllers/accounts_controller.py:3768 msgid "Cannot delete an item which has been ordered" -msgstr "" +msgstr "Nem lehet törölni egy megrendelt tételt" #: erpnext/setup/doctype/company/company.py:552 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." @@ -8942,7 +8942,7 @@ msgstr "" #: erpnext/manufacturing/doctype/work_order/work_order.py:677 msgid "Cannot disassemble more than produced quantity." -msgstr "" +msgstr "Nem lehet a gyártott mennyiségnél többet szétszerelni." #: erpnext/setup/doctype/company/company.py:214 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." @@ -9141,7 +9141,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Carat" -msgstr "" +msgstr "Karát" #. Title of an incoterm #: erpnext/setup/doctype/incoterm/incoterms.csv:6 @@ -9156,12 +9156,12 @@ msgstr "" #. Label of the carrier (Data) field in DocType 'Shipment' #: erpnext/stock/doctype/shipment/shipment.json msgid "Carrier" -msgstr "" +msgstr "Fuvarozó" #. Label of the carrier_service (Data) field in DocType 'Shipment' #: erpnext/stock/doctype/shipment/shipment.json msgid "Carrier Service" -msgstr "" +msgstr "Fuvarozói Szolgáltatás" #. Label of the carry_forward_communication_and_comments (Check) field in #. DocType 'CRM Settings' @@ -9267,12 +9267,12 @@ msgstr "" #. Accounts' #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json msgid "Categorize By" -msgstr "" +msgstr "Kategorizálás" #: erpnext/accounts/report/general_ledger/general_ledger.js:116 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:80 msgid "Categorize by" -msgstr "" +msgstr "Kategorizálás" #: erpnext/accounts/report/general_ledger/general_ledger.js:129 msgid "Categorize by Account" @@ -9309,7 +9309,7 @@ msgstr "" #. Withholding Category' #: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json msgid "Category Details" -msgstr "" +msgstr "Kategória Részletek" #: erpnext/assets/dashboard_fixtures.py:93 msgid "Category-wise Asset Value" @@ -9332,12 +9332,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Celsius" -msgstr "" +msgstr "Celsius" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cental" -msgstr "" +msgstr "Cental" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -9347,17 +9347,17 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Centigram/Litre" -msgstr "" +msgstr "Centigramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Centilitre" -msgstr "" +msgstr "Centiliter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Centimeter" -msgstr "" +msgstr "Centiméter" #. Label of the certificate_attachement (Attach) field in DocType 'Asset #. Maintenance Log' @@ -9392,7 +9392,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Chain" -msgstr "" +msgstr "Lánc" #. Label of the change_amount (Currency) field in DocType 'POS Invoice' #. Label of the change_amount (Currency) field in DocType 'Sales Invoice' @@ -9418,7 +9418,7 @@ msgstr "" #: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:169 msgid "Change in Stock Value" -msgstr "" +msgstr "A készletérték változása" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1002 msgid "Change the account type to Receivable or select a different account." @@ -9432,7 +9432,7 @@ msgstr "" #: erpnext/selling/doctype/customer/customer.py:127 msgid "Changed customer name to '{}' as '{}' already exists." -msgstr "" +msgstr "Az ügyfél neve '{}'-re változott, mivel '{}' már létezik." #: erpnext/manufacturing/page/bom_comparison_tool/bom_comparison_tool.js:155 msgid "Changes in {0}" @@ -9479,7 +9479,7 @@ msgstr "" #. Label of the tab_break_dpet (Tab Break) field in DocType 'Accounts Settings' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json msgid "Chart Of Accounts" -msgstr "" +msgstr "Számlatükör" #. Label of the chart_of_accounts (Select) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -9561,18 +9561,18 @@ msgstr "" #. Description of the 'Must be Whole Number' (Check) field in DocType 'UOM' #: erpnext/setup/doctype/uom/uom.json msgid "Check this to disallow fractions. (for Nos)" -msgstr "" +msgstr "Jelölje be a törtek letiltásához. (darabszámok esetén)" #. Label of the checked_on (Datetime) field in DocType 'Ledger Health' #: erpnext/accounts/doctype/ledger_health/ledger_health.json msgid "Checked On" -msgstr "" +msgstr "Ellenőrizve" #. Description of the 'Round Off Tax Amount' (Check) field in DocType 'Tax #. Withholding Category' #: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json msgid "Checking this will round off the tax amount to the nearest integer" -msgstr "" +msgstr "Ennek bejelölésével az adó összege a legközelebbi egész számra kerekíthető" #: erpnext/selling/page/point_of_sale/pos_item_cart.js:92 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:148 @@ -9585,7 +9585,7 @@ msgstr "" #: erpnext/setup/setup_wizard/data/industry_type.txt:12 msgid "Chemical" -msgstr "" +msgstr "Vegyipar" #. Option for the 'Salary Mode' (Select) field in DocType 'Employee' #: erpnext/setup/doctype/employee/employee.json @@ -9643,7 +9643,7 @@ msgstr "" #. Name of a report #: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.json msgid "Cheques and Deposits Incorrectly cleared" -msgstr "" +msgstr "Csekkek és befizetések helytelenül elszámolva" #: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js:50 #: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:50 @@ -9652,19 +9652,19 @@ msgstr "" #: erpnext/setup/setup_wizard/data/designation.txt:9 msgid "Chief Executive Officer" -msgstr "" +msgstr "Vezérigazgató" #: erpnext/setup/setup_wizard/data/designation.txt:10 msgid "Chief Financial Officer" -msgstr "" +msgstr "Pénzügyi igazgató" #: erpnext/setup/setup_wizard/data/designation.txt:11 msgid "Chief Operating Officer" -msgstr "" +msgstr "Ügyvezető igazgató" #: erpnext/setup/setup_wizard/data/designation.txt:12 msgid "Chief Technology Officer" -msgstr "" +msgstr "Technológiai igazgató" #. Label of the child_docname (Data) field in DocType 'Pricing Rule Detail' #: erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.json @@ -9718,13 +9718,13 @@ msgstr "" #: erpnext/public/js/utils/demo.js:11 msgid "Clear Demo Data" -msgstr "" +msgstr "Demo Adatok Törlése" #. Label of the clear_notifications (Check) field in DocType 'Transaction #. Deletion Record' #: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json msgid "Clear Notifications" -msgstr "" +msgstr "Értesítések Törlése" #. Label of the clear_table (Button) field in DocType 'Holiday List' #: erpnext/setup/doctype/holiday_list/holiday_list.json @@ -9762,7 +9762,7 @@ msgstr "" #: erpnext/public/js/utils/demo.js:24 msgid "Clearing Demo Data..." -msgstr "" +msgstr "Demo Adatok Törlése..." #: erpnext/manufacturing/doctype/production_plan/production_plan.js:719 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." @@ -9794,7 +9794,7 @@ msgstr "" #: erpnext/selling/page/point_of_sale/pos_item_cart.js:485 msgid "Click to add email / phone" -msgstr "" +msgstr "Kattintson az e-mail / telefon hozzáadásához" #. Label of the close_issue_after_days (Int) field in DocType 'Support #. Settings' @@ -9828,7 +9828,7 @@ msgstr "" #: erpnext/manufacturing/doctype/work_order/work_order.py:2377 msgid "Closed Work Order can not be stopped or Re-opened" -msgstr "" +msgstr "A lezárt munkarend nem állítható le vagy nyitható meg újra" #: erpnext/selling/doctype/sales_order/sales_order.py:525 msgid "Closed order cannot be cancelled. Unclose to cancel." @@ -9886,11 +9886,11 @@ msgstr "" #: erpnext/public/js/bank_reconciliation_tool/number_card.js:18 msgid "Closing Balance as per Bank Statement" -msgstr "" +msgstr "Záróegyenleg bankszámlakivonat szerint" #: erpnext/public/js/bank_reconciliation_tool/number_card.js:24 msgid "Closing Balance as per ERP" -msgstr "" +msgstr "Záróegyenleg az ERP szerint" #. Label of the closing_date (Date) field in DocType 'Account Closing Balance' #. Label of the closing_date (Date) field in DocType 'Task' @@ -9909,24 +9909,24 @@ msgstr "" #: erpnext/accounts/report/general_ledger/general_ledger.html:141 msgid "Closing [Opening + Total] " -msgstr "" +msgstr "Záró [Nyitó + Összes] " #. Name of a DocType #. Label of the code_list (Link) field in DocType 'Common Code' #: erpnext/edi/doctype/code_list/code_list.json #: erpnext/edi/doctype/common_code/common_code.json msgid "Code List" -msgstr "" +msgstr "Kódlista" #. Description of the 'Line Reference' (Data) field in DocType 'Financial #. Report Row' #: erpnext/accounts/doctype/financial_report_row/financial_report_row.json msgid "Code to reference this line in formulas (e.g., REV100, EXP200, ASSET100)" -msgstr "" +msgstr "A képletekben erre a sorra való hivatkozás kódja (pl. REV100, EXP200, ASSET100)" #: erpnext/setup/setup_wizard/data/marketing_source.txt:4 msgid "Cold Calling" -msgstr "" +msgstr "Telemarketing" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:281 msgid "Collect Outstanding Amount" @@ -9956,7 +9956,7 @@ msgstr "" #. Description of the 'Color' (Color) field in DocType 'Financial Report Row' #: erpnext/accounts/doctype/financial_report_row/financial_report_row.json msgid "Color to highlight values (e.g., red for exceptions)" -msgstr "" +msgstr "Értékek kiemelésére szolgáló szín (pl. piros a kivételekhez)" #: erpnext/setup/setup_wizard/operations/install_fixtures.py:280 msgid "Colour" @@ -9969,11 +9969,11 @@ msgstr "" #: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:52 msgid "Columns are not according to template. Please compare the uploaded file with standard template" -msgstr "" +msgstr "Az oszlopok nem a sablon szerint vannak. Kérjük, hasonlítsa össze a feltöltött fájlt a szabványos sablonnal" #: erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py:39 msgid "Combined invoice portion must equal 100%" -msgstr "" +msgstr "A számla összesített részének meg kell felelnie 100%-nak" #: erpnext/setup/setup_wizard/operations/install_fixtures.py:178 msgid "Commercial" @@ -10012,7 +10012,7 @@ msgstr "" #: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py:78 #: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:82 msgid "Commission Rate %" -msgstr "" +msgstr "Jutalék mértéke %" #. Label of the commission_rate (Float) field in DocType 'POS Invoice' #. Label of the commission_rate (Float) field in DocType 'Sales Invoice' @@ -10021,7 +10021,7 @@ msgstr "" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/stock/doctype/delivery_note/delivery_note.json msgid "Commission Rate (%)" -msgstr "" +msgstr "Jutalék mértéke (%)" #: 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 @@ -10034,13 +10034,13 @@ msgstr "" #: erpnext/edi/doctype/common_code/common_code.json #: erpnext/setup/doctype/uom/uom.json msgid "Common Code" -msgstr "" +msgstr "Közös Kód" #. Label of the communication_channel (Select) field in DocType 'Communication #. Medium' #: erpnext/communication/doctype/communication_medium/communication_medium.json msgid "Communication Channel" -msgstr "" +msgstr "Kommunikációs Csatorna" #. Name of a DocType #: erpnext/communication/doctype/communication_medium/communication_medium.json @@ -10576,7 +10576,7 @@ msgstr "" #: erpnext/controllers/accounts_controller.py:4311 msgid "Company Address is missing. You don't have permission to update it. Please contact your System Manager." -msgstr "" +msgstr "A cég címe hiányzik. Nincs jogosultsága a frissítéshez. Kérjük, lépjen kapcsolatba a rendszergazdával." #. Label of the bank_account (Link) field in DocType 'Payment Entry' #. Label of the company_bank_account (Link) field in DocType 'Payment Order' @@ -10604,7 +10604,7 @@ msgstr "" #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json msgid "Company Billing Address" -msgstr "" +msgstr "Cég Számlázási Címe" #. Label of the company_contact_person (Link) field in DocType 'POS Invoice' #. Label of the company_contact_person (Link) field in DocType 'Sales Invoice' @@ -10617,7 +10617,7 @@ msgstr "" #: erpnext/selling/doctype/sales_order/sales_order.json #: erpnext/stock/doctype/delivery_note/delivery_note.json msgid "Company Contact Person" -msgstr "" +msgstr "Céges Kapcsolattartó Személy" #. Label of the company_description (Text Editor) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -10628,7 +10628,7 @@ msgstr "" #. 'Employee' #: erpnext/setup/doctype/employee/employee.json msgid "Company Details" -msgstr "" +msgstr "Cégadatok" #. Option for the 'Preferred Contact Email' (Select) field in DocType #. 'Employee' @@ -10653,12 +10653,12 @@ msgstr "" #. Label of the shipping_address (Link) field in DocType 'Subcontracting Order' #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json msgid "Company Shipping Address" -msgstr "" +msgstr "Cég Szállítási Címe" #. Label of the company_tax_id (Data) field in DocType 'Sales Invoice' #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json msgid "Company Tax ID" -msgstr "" +msgstr "Céges adószám" #: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:620 msgid "Company and Posting Date is mandatory" @@ -10675,15 +10675,15 @@ msgstr "" #: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:77 msgid "Company is mandatory" -msgstr "" +msgstr "A cég kötelező" #: erpnext/accounts/doctype/bank_account/bank_account.py:72 msgid "Company is mandatory for company account" -msgstr "" +msgstr "A cég kötelező a céges számla megadásához" #: erpnext/accounts/doctype/subscription/subscription.py:392 msgid "Company is mandatory for generating an invoice. Please set a default company in Global Defaults." -msgstr "" +msgstr "A cég kötelező a számla kiállításához. Kérjük, állítson be egy alapértelmezett céget a Globális alapértelmezések között." #: erpnext/setup/doctype/company/company.js:222 msgid "Company name not same" @@ -10702,23 +10702,23 @@ msgstr "" #. Invoice' #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json msgid "Company which internal customer represents" -msgstr "" +msgstr "Cég, amelyet a belső ügyfél képvisel" #. Description of the 'Represents Company' (Link) field in DocType 'Delivery #. Note' #: erpnext/stock/doctype/delivery_note/delivery_note.json msgid "Company which internal customer represents." -msgstr "" +msgstr "Cég, amelyet a belső ügyfél képvisel." #. Description of the 'Represents Company' (Link) field in DocType 'Purchase #. Invoice' #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json msgid "Company which internal supplier represents" -msgstr "" +msgstr "Cég, amelyet a belső szállító képvisel" #: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:62 msgid "Company {0} added multiple times" -msgstr "" +msgstr "Cég {0} többször hozzáadva" #: erpnext/accounts/doctype/account/account.py:509 #: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1289 @@ -10727,11 +10727,11 @@ msgstr "" #: erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py:83 msgid "Company {0} is added more than once" -msgstr "" +msgstr "Cég {0} többször hozzáadva" #: erpnext/setup/setup_wizard/operations/taxes_setup.py:14 msgid "Company {} does not exist yet. Taxes setup aborted." -msgstr "" +msgstr "A {} vállalat még nem létezik. Az adók beállítása megszakadt." #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:574 msgid "Company {} does not match with POS Profile Company {}" @@ -10793,7 +10793,7 @@ msgstr "" #. Label of a chart in the Projects Workspace #: erpnext/projects/workspace/projects/projects.json msgid "Completed Projects" -msgstr "" +msgstr "Befejezett Projektek" #. Label of the completed_qty (Float) field in DocType 'Job Card Operation' #. Label of the completed_qty (Float) field in DocType 'Job Card Time Log' @@ -10819,12 +10819,12 @@ msgstr "" #: erpnext/projects/report/project_summary/project_summary.py:136 #: erpnext/public/js/templates/crm_activities.html:64 msgid "Completed Tasks" -msgstr "" +msgstr "Befejezett Feladatok" #. Label of the completed_time (Data) field in DocType 'Job Card Operation' #: erpnext/manufacturing/doctype/job_card_operation/job_card_operation.json msgid "Completed Time" -msgstr "" +msgstr "Befejezett Idő" #. Name of a report #: erpnext/manufacturing/report/completed_work_orders/completed_work_orders.json @@ -10851,7 +10851,7 @@ msgstr "" #: erpnext/assets/doctype/asset_repair/asset_repair.py:83 msgid "Completion Date can not be before Failure Date. Please adjust the dates accordingly." -msgstr "" +msgstr "A befejezés dátuma nem lehet a meghiúsulás dátuma előtt. Kérjük, ennek megfelelően igazítsa ki a dátumokat." #. Label of the completion_status (Select) field in DocType 'Maintenance #. Schedule Detail' @@ -10941,17 +10941,17 @@ msgstr "" #. Plan' #: erpnext/manufacturing/doctype/production_plan/production_plan.json msgid "Consider Minimum Order Qty" -msgstr "" +msgstr "Vegye figyelembe a minimális rendelési mennyiséget" #: erpnext/manufacturing/doctype/work_order/work_order.js:993 msgid "Consider Process Loss" -msgstr "" +msgstr "Vegye figyelembe a folyamat veszteségét" #. Label of the skip_available_sub_assembly_item (Check) field in DocType #. 'Production Plan' #: erpnext/manufacturing/doctype/production_plan/production_plan.json msgid "Consider Projected Qty in Calculation" -msgstr "" +msgstr "Vegye figyelembe a számítás során a tervezett mennyiséget" #. Label of the ignore_existing_ordered_qty (Check) field in DocType #. 'Production Plan' @@ -11040,7 +11040,7 @@ msgstr "" #: erpnext/setup/setup_wizard/data/industry_type.txt:14 msgid "Consulting" -msgstr "" +msgstr "Tanácsadás" #: erpnext/setup/setup_wizard/operations/install_fixtures.py:64 msgid "Consumable" @@ -11049,7 +11049,7 @@ msgstr "" #: erpnext/patches/v16_0/make_workstation_operating_components.py:48 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:315 msgid "Consumables" -msgstr "" +msgstr "Fogyóeszközök" #. Option for the 'Status' (Select) field in DocType 'Serial No' #: erpnext/stock/doctype/serial_no/serial_no.json @@ -11146,12 +11146,12 @@ msgstr "" #: erpnext/setup/setup_wizard/data/industry_type.txt:15 msgid "Consumer Products" -msgstr "" +msgstr "Fogyasztási Cikkek" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:198 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:101 msgid "Consumption Rate" -msgstr "" +msgstr "Felhasználási Ráta" #. Label of the contact_desc (HTML) field in DocType 'Sales Partner' #: erpnext/setup/doctype/sales_partner/sales_partner.json @@ -11270,7 +11270,7 @@ msgstr "" #: erpnext/controllers/accounts_controller.py:585 msgid "Contact Person does not belong to the {0}" -msgstr "" +msgstr "A kapcsolattartó személy nem tartozik ide: {0}" #: erpnext/accounts/letterhead/company_letterhead.html:101 #: erpnext/accounts/letterhead/company_letterhead_grey.html:119 @@ -11332,7 +11332,7 @@ msgstr "" #. Template' #: erpnext/crm/doctype/contract_template/contract_template.json msgid "Contract Template Help" -msgstr "" +msgstr "Szerződés Sablon Súgó" #. Label of the contract_terms (Text Editor) field in DocType 'Contract' #: erpnext/crm/doctype/contract/contract.json @@ -11348,12 +11348,12 @@ msgstr "" #: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:76 #: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:122 msgid "Contribution %" -msgstr "" +msgstr "Hozzájárulás %" #. Label of the allocated_percentage (Float) field in DocType 'Sales Team' #: erpnext/selling/doctype/sales_team/sales_team.json msgid "Contribution (%)" -msgstr "" +msgstr "Hozzájárulás (%)" #: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:88 #: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:130 @@ -11362,7 +11362,7 @@ msgstr "" #: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:124 msgid "Contribution Qty" -msgstr "" +msgstr "Hozzájárulás Mennyiség" #. Label of the allocated_amount (Currency) field in DocType 'Sales Team' #: erpnext/selling/doctype/sales_team/sales_team.json @@ -11435,7 +11435,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 "Átváltási Tényező" #. Label of the conversion_rate (Float) field in DocType 'Dunning' #. Label of the conversion_rate (Float) field in DocType 'BOM' @@ -11531,20 +11531,20 @@ msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.js:495 msgid "Corrective Job Card" -msgstr "" +msgstr "Korrekciós Munka Kártya" #. Label of the corrective_operation_section (Tab Break) field in DocType 'Job #. Card' #: erpnext/manufacturing/doctype/job_card/job_card.js:502 #: erpnext/manufacturing/doctype/job_card/job_card.json msgid "Corrective Operation" -msgstr "" +msgstr "Korrekciós Művelet" #. Label of the corrective_operation_cost (Currency) field in DocType 'Work #. Order' #: erpnext/manufacturing/doctype/work_order/work_order.json msgid "Corrective Operation Cost" -msgstr "" +msgstr "Korrekciós Művelet Költsége" #. Label of the corrective_preventive (Select) field in DocType 'Quality #. Action' @@ -11554,7 +11554,7 @@ msgstr "" #: erpnext/setup/setup_wizard/data/industry_type.txt:16 msgid "Cosmetics" -msgstr "" +msgstr "Szépségápolás" #. Label of the cost (Currency) field in DocType 'Subscription Plan' #: erpnext/accounts/doctype/subscription_plan/subscription_plan.json @@ -11806,17 +11806,17 @@ msgstr "" #. Label of the currency_detail (Section Break) field in DocType 'BOM' #: erpnext/manufacturing/doctype/bom/bom.json msgid "Cost Configuration" -msgstr "" +msgstr "Költség Konfiguráció" #. Label of the cost_per_unit (Float) field in DocType 'BOM Operation' #: erpnext/manufacturing/doctype/bom_operation/bom_operation.json msgid "Cost Per Unit" -msgstr "" +msgstr "Egységenkénti Költség" #. Title of an incoterm #: erpnext/setup/doctype/incoterm/incoterms.csv:8 msgid "Cost and Freight" -msgstr "" +msgstr "Költség és Fuvardíj" #: erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py:41 msgid "Cost of Delivered Items" @@ -11947,7 +11947,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Coulomb" -msgstr "" +msgstr "Coulomb" #: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py:419 msgid "Country Code in File does not match with country code set up in the system" @@ -12329,7 +12329,7 @@ msgstr "" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:154 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:46 msgid "Creation" -msgstr "" +msgstr "Létrehozás" #: erpnext/utilities/bulk_transaction.py:210 msgid "Creation of {1}(s) successful" @@ -12617,37 +12617,37 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Centimeter" -msgstr "" +msgstr "Köbcentiméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Decimeter" -msgstr "" +msgstr "Köbdeciméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Foot" -msgstr "" +msgstr "Köbláb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Inch" -msgstr "" +msgstr "Köbhüvelyk" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Meter" -msgstr "" +msgstr "Köbméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Millimeter" -msgstr "" +msgstr "Köbmilliméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cubic Yard" -msgstr "" +msgstr "Köbyard" #. Label of the cumulative_threshold (Float) field in DocType 'Tax Withholding #. Rate' @@ -12658,7 +12658,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cup" -msgstr "" +msgstr "Csésze" #. Label of a Link in the Accounting Workspace #. Name of a DocType @@ -13651,7 +13651,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Cycle/Second" -msgstr "" +msgstr "Ciklus/másodperc" #: 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:243 @@ -14052,17 +14052,17 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Decigram/Litre" -msgstr "" +msgstr "Decigramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Decilitre" -msgstr "" +msgstr "Deciliter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Decimeter" -msgstr "" +msgstr "Deciméter" #: erpnext/public/js/utils/sales_common.js:610 msgid "Declare Lost" @@ -14406,7 +14406,7 @@ msgstr "" #. Label of the purchase_uom (Link) field in DocType 'Item' #: erpnext/stock/doctype/item/item.json msgid "Default Purchase Unit of Measure" -msgstr "" +msgstr "Alapértelmezett beszerzési mértékegység" #. Label of the default_valid_till (Data) field in DocType 'CRM Settings' #: erpnext/crm/doctype/crm_settings/crm_settings.json @@ -14426,7 +14426,7 @@ msgstr "" #. Label of the sales_uom (Link) field in DocType 'Item' #: erpnext/stock/doctype/item/item.json msgid "Default Sales Unit of Measure" -msgstr "" +msgstr "Alapértelmezett értékesítési egység" #. Label of the default_scrap_warehouse (Link) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -14465,7 +14465,7 @@ msgstr "" #. Label of the stock_uom (Link) field in DocType 'Stock Settings' #: erpnext/stock/doctype/stock_settings/stock_settings.json msgid "Default Stock UOM" -msgstr "" +msgstr "Alapértelmezett készlet mértékegység" #. Label of the valuation_method (Select) field in DocType 'Company' #: erpnext/setup/doctype/company/company.json @@ -14497,7 +14497,7 @@ msgstr "" #. Label of the stock_uom (Link) field in DocType 'Item' #: erpnext/stock/doctype/item/item.json msgid "Default Unit of Measure" -msgstr "" +msgstr "Alapértelmezett mértékegység" #: erpnext/stock/doctype/item/item.py:1270 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." @@ -14639,7 +14639,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Dekagram/Litre" -msgstr "" +msgstr "Dekagramm/liter" #: erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py:130 msgid "Delay (In Days)" @@ -15151,7 +15151,7 @@ msgstr "" #: erpnext/accounts/report/cash_flow/cash_flow.py:161 #: erpnext/assets/doctype/asset/asset.json msgid "Depreciation" -msgstr "" +msgstr "Értékcsökkentés" #. Label of the depreciation_amount (Currency) field in DocType 'Depreciation #. Schedule' @@ -15222,13 +15222,13 @@ msgstr "" #: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json #: erpnext/assets/doctype/asset_finance_book/asset_finance_book.json msgid "Depreciation Method" -msgstr "" +msgstr "Értékcsökkentési módszer" #. Label of the depreciation_options (Section Break) field in DocType 'Asset #. Category' #: erpnext/assets/doctype/asset_category/asset_category.json msgid "Depreciation Options" -msgstr "" +msgstr "Értékcsökkenési lehetőségek" #. Label of the depreciation_start_date (Date) field in DocType 'Asset Finance #. Book' @@ -15349,7 +15349,7 @@ msgstr "" #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json #: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json msgid "Difference Account" -msgstr "" +msgstr "Különbség főkönyvi számla" #: erpnext/stock/doctype/stock_entry/stock_entry.py:689 msgid "Difference Account in Items Table" @@ -15975,7 +15975,7 @@ msgstr "" #. Label of the uom (Link) field in DocType 'Delivery Trip' #: erpnext/stock/doctype/delivery_trip/delivery_trip.json msgid "Distance UOM" -msgstr "" +msgstr "Távolság ME" #. Label of the acc_pay_dist_from_left_edge (Float) field in DocType 'Cheque #. Print Template' @@ -16248,7 +16248,7 @@ msgstr "" #: erpnext/assets/doctype/asset_repair/asset_repair.json #: erpnext/manufacturing/doctype/downtime_entry/downtime_entry.json msgid "Downtime" -msgstr "" +msgstr "Állásidő" #: erpnext/manufacturing/report/downtime_analysis/downtime_analysis.py:93 msgid "Downtime (In Hours)" @@ -16281,7 +16281,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Dram" -msgstr "" +msgstr "Korty" #. Name of a DocType #. Label of the driver (Link) field in DocType 'Delivery Note' @@ -16509,7 +16509,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Dyne" -msgstr "" +msgstr "Din" #: erpnext/regional/italy/utils.py:221 erpnext/regional/italy/utils.py:241 #: erpnext/regional/italy/utils.py:251 erpnext/regional/italy/utils.py:259 @@ -16690,7 +16690,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ells (UK)" -msgstr "" +msgstr "Rőf (Egyesült Királyság)" #: erpnext/www/book_appointment/index.html:52 msgid "Email Address (required)" @@ -16962,7 +16962,7 @@ msgstr "Üres" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ems(Pica)" -msgstr "" +msgstr "Ems(Pica)" #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1720 msgid "Enable Allow Partial Reservation in the Stock Settings to reserve partial stock." @@ -17386,7 +17386,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Erg" -msgstr "" +msgstr "Erg" #. Label of the description (Long Text) field in DocType 'Asset Repair' #. Label of the error_description (Long Text) field in DocType 'Bulk @@ -18061,7 +18061,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Fahrenheit" -msgstr "" +msgstr "Fahrenheit" #: erpnext/bulk_transaction/doctype/bulk_transaction_log/bulk_transaction_log.js:17 msgid "Failed Entries" @@ -18131,12 +18131,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Faraday" -msgstr "" +msgstr "Faraday" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Fathom" -msgstr "" +msgstr "Öl" #. Label of the document_name (Dynamic Link) field in DocType 'Quality #. Feedback' @@ -18533,7 +18533,7 @@ msgstr "" #. Label of the finished_good_uom (Link) field in DocType 'Subcontracting BOM' #: erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json msgid "Finished Good UOM" -msgstr "" +msgstr "Kész árú MEE" #: erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.py:51 msgid "Finished Good {0} does not have a default BOM." @@ -18807,12 +18807,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Fluid Ounce (UK)" -msgstr "" +msgstr "Folyékony uncia (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Fluid Ounce (US)" -msgstr "" +msgstr "Folyékony uncia (USA)" #: erpnext/selling/page/point_of_sale/pos_item_selector.js:334 msgid "Focus on Item Group filter" @@ -18847,22 +18847,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Foot" -msgstr "" +msgstr "Láb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Foot Of Water" -msgstr "" +msgstr "Lábnyi víz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Foot/Minute" -msgstr "" +msgstr "Láb/perc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Foot/Second" -msgstr "" +msgstr "Láb/másodperc" #: erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html:23 msgid "For" @@ -19529,7 +19529,7 @@ msgstr "" #. Label of the uom (Link) field in DocType 'Vehicle' #: erpnext/setup/doctype/vehicle/vehicle.json msgid "Fuel UOM" -msgstr "" +msgstr "Üzemanyag ME" #. Option for the 'Fulfilment Status' (Select) field in DocType 'Contract' #. Label of the fulfilled (Check) field in DocType 'Contract Fulfilment @@ -19621,7 +19621,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Furlong" -msgstr "" +msgstr "Távolságmérték" #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:52 #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:87 @@ -19742,22 +19742,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gallon (UK)" -msgstr "" +msgstr "Gallon (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gallon Dry (US)" -msgstr "" +msgstr "Gallon száraz (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gallon Liquid (US)" -msgstr "" +msgstr "Gallon folyadék (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gamma" -msgstr "" +msgstr "Gamma" #: erpnext/projects/doctype/project/project.js:102 msgid "Gantt Chart" @@ -19770,7 +19770,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gauss" -msgstr "" +msgstr "Gauss" #. Label of the general_ledger_remarks_length (Int) field in DocType 'Accounts #. Settings' @@ -20131,7 +20131,7 @@ msgstr "" #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json #: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json msgid "Give free item for every N quantity" -msgstr "" +msgstr "Ingyenes tétel minden N mennyiség után" #. Name of a DocType #. Label of a shortcut in the Settings Workspace @@ -20189,52 +20189,52 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Grain" -msgstr "" +msgstr "Gabona" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Grain/Cubic Foot" -msgstr "" +msgstr "Gabona/köbláb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Grain/Gallon (UK)" -msgstr "" +msgstr "Gabona/gallon (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Grain/Gallon (US)" -msgstr "" +msgstr "Gabona/gallon (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram" -msgstr "" +msgstr "Gramm" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram-Force" -msgstr "" +msgstr "Gramm-erő" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram/Cubic Centimeter" -msgstr "" +msgstr "Gramm/köbcentiméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram/Cubic Meter" -msgstr "" +msgstr "Gramm/köbméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram/Cubic Millimeter" -msgstr "" +msgstr "Gramm/köbmilliméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Gram/Litre" -msgstr "" +msgstr "Gramm/liter" #. Label of the grand_total (Currency) field in DocType 'Dunning' #. Label of the total_amount (Float) field in DocType 'Payment Entry Reference' @@ -20419,7 +20419,7 @@ msgstr "" #. Label of the gross_weight_uom (Link) field in DocType 'Packing Slip' #: erpnext/stock/doctype/packing_slip/packing_slip.json msgid "Gross Weight UOM" -msgstr "" +msgstr "Bruttó Tömeg ME" #. Name of a report #: erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.json @@ -20551,7 +20551,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hand" -msgstr "" +msgstr "Kéz" #: erpnext/accounts/report/accounts_payable/accounts_payable.js:150 msgid "Handle Employee Advances" @@ -20700,22 +20700,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hectare" -msgstr "" +msgstr "Hektár" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hectogram/Litre" -msgstr "" +msgstr "Hektogramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hectometer" -msgstr "" +msgstr "Hektométer" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hectopascal" -msgstr "" +msgstr "Hektopascal" #. Label of the height (Int) field in DocType 'Shipment Parcel' #. Label of the height (Int) field in DocType 'Shipment Parcel Template' @@ -20774,7 +20774,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hertz" -msgstr "" +msgstr "Hertz" #: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:518 msgid "Hi," @@ -20906,17 +20906,17 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Horsepower" -msgstr "" +msgstr "Lóerő" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Horsepower-Hours" -msgstr "" +msgstr "Lóerő-órák" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Hour" -msgstr "" +msgstr "Óra" #. Label of the hour_rate (Currency) field in DocType 'BOM Operation' #. Label of the hour_rate (Currency) field in DocType 'Job Card' @@ -21876,7 +21876,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Inch" -msgstr "" +msgstr "Hüvelyk" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -25507,12 +25507,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Joule" -msgstr "" +msgstr "Joule" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Joule/Meter" -msgstr "" +msgstr "Joule/méter" #: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js:30 msgid "Journal Entries" @@ -25611,7 +25611,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kelvin" -msgstr "" +msgstr "Kelvin" #. Label of a Card Break in the Buying Workspace #. Label of a Card Break in the Selling Workspace @@ -25625,67 +25625,67 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kg" -msgstr "" +msgstr "Kg" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kiloampere" -msgstr "" +msgstr "Kiloamper" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilocalorie" -msgstr "" +msgstr "Kilokalória" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilocoulomb" -msgstr "" +msgstr "Kilocoulomb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilogram-Force" -msgstr "" +msgstr "Kilogramm-erő" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilogram/Cubic Centimeter" -msgstr "" +msgstr "Kilogramm/köbcentiméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilogram/Cubic Meter" -msgstr "" +msgstr "Kilogramm/köbméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilogram/Litre" -msgstr "" +msgstr "Kilogramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilohertz" -msgstr "" +msgstr "Kilohertz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilojoule" -msgstr "" +msgstr "Kilojoule" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilometer" -msgstr "" +msgstr "Kilométer" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilometer/Hour" -msgstr "" +msgstr "Kilométer/óra" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilopascal" -msgstr "" +msgstr "Kilopascal" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -25700,12 +25700,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilowatt" -msgstr "" +msgstr "Kilowatt" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Kilowatt-Hour" -msgstr "" +msgstr "Kilowattóra" #: erpnext/manufacturing/doctype/job_card/job_card.py:879 msgid "Kindly cancel the Manufacturing Entries first against the work order {0}." @@ -25723,7 +25723,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Knot" -msgstr "" +msgstr "Csomó" #. Option for the 'Default Stock Valuation Method' (Select) field in DocType #. 'Company' @@ -26345,7 +26345,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Litre" -msgstr "" +msgstr "Liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -27940,7 +27940,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Megacoulomb" -msgstr "" +msgstr "Megacoulomb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -27950,17 +27950,17 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Megahertz" -msgstr "" +msgstr "Megahertz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Megajoule" -msgstr "" +msgstr "Megajoule" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Megawatt" -msgstr "" +msgstr "Megawatt" #: erpnext/stock/stock_ledger.py:2046 msgid "Mention Valuation Rate in the Item master." @@ -28056,42 +28056,42 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Meter" -msgstr "" +msgstr "Méter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Meter Of Water" -msgstr "" +msgstr "Vízmérő" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Meter/Second" -msgstr "" +msgstr "Méter/másodperc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Microbar" -msgstr "" +msgstr "Mikrobar" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Microgram" -msgstr "" +msgstr "Mikrogramm" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Microgram/Litre" -msgstr "" +msgstr "Mikrogramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Micrometer" -msgstr "" +msgstr "Mikrométer" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Microsecond" -msgstr "" +msgstr "Mikroszekundum" #: erpnext/setup/setup_wizard/operations/install_fixtures.py:310 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:422 @@ -28101,97 +28101,97 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Mile" -msgstr "" +msgstr "Mérföld" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Mile (Nautical)" -msgstr "" +msgstr "Mérföld (tengerészeti)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Mile/Hour" -msgstr "" +msgstr "Mérföld/óra" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Mile/Minute" -msgstr "" +msgstr "Mérföld/perc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Mile/Second" -msgstr "" +msgstr "Mérföld/másodperc" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milibar" -msgstr "" +msgstr "Milibar" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milliampere" -msgstr "" +msgstr "Milliamper" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millicoulomb" -msgstr "" +msgstr "Millicoulomb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milligram" -msgstr "" +msgstr "Milligramm" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milligram/Cubic Centimeter" -msgstr "" +msgstr "Milligramm/köbcentiméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milligram/Cubic Meter" -msgstr "" +msgstr "Milligramm/köbméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milligram/Cubic Millimeter" -msgstr "" +msgstr "Milligramm/Köbmilliméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Milligram/Litre" -msgstr "" +msgstr "Milligramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millihertz" -msgstr "" +msgstr "Millihertz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millilitre" -msgstr "" +msgstr "Milliliter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millimeter" -msgstr "" +msgstr "Milliméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millimeter Of Mercury" -msgstr "" +msgstr "Higanymilliméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millimeter Of Water" -msgstr "" +msgstr "Milliméter víz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Millisecond" -msgstr "" +msgstr "Ezredmásodperc" #. Label of the min_amount (Currency) field in DocType 'Promotional Scheme #. Price Discount' @@ -28753,27 +28753,27 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanocoulomb" -msgstr "" +msgstr "Nanocoulomb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanogram/Litre" -msgstr "" +msgstr "Nanogramm/liter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanohertz" -msgstr "" +msgstr "Nanohertz" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanometer" -msgstr "" +msgstr "Nanométer" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanosecond" -msgstr "" +msgstr "Nanoszekundum" #. Option for the 'Fuel Type' (Select) field in DocType 'Vehicle' #: erpnext/setup/doctype/vehicle/vehicle.json @@ -29297,7 +29297,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Newton" -msgstr "" +msgstr "Newton" #. Label of the next_depreciation_date (Date) field in DocType 'Asset' #: erpnext/assets/doctype/asset/asset.json @@ -31174,32 +31174,32 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce" -msgstr "" +msgstr "Uncia" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce-Force" -msgstr "" +msgstr "Uncia-erő" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce/Cubic Foot" -msgstr "" +msgstr "Uncia/köbláb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce/Cubic Inch" -msgstr "" +msgstr "Uncia/köbhüvelyk" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce/Gallon (UK)" -msgstr "" +msgstr "Uncia/gallon (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce/Gallon (US)" -msgstr "" +msgstr "Uncia/gallon (USA)" #: erpnext/stock/report/available_serial_no/available_serial_no.py:119 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:83 @@ -31964,7 +31964,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Pair" -msgstr "" +msgstr "Pár" #. Label of the pallets (Select) field in DocType 'Shipment' #: erpnext/stock/doctype/shipment/shipment.json @@ -33834,22 +33834,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Pint (UK)" -msgstr "" +msgstr "Pint (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Pint (US)" -msgstr "" +msgstr "Pint (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Pint, Dry (US)" -msgstr "" +msgstr "Száraz pint (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Pint, Liquid (US)" -msgstr "" +msgstr "Folyékony pint (USA)" #: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.js:8 msgid "Pipeline By" @@ -37877,7 +37877,7 @@ msgstr "" #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:133 msgid "Qty to Build" -msgstr "" +msgstr "Építendő mennyiség" #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:269 msgid "Qty to Deliver" @@ -37885,7 +37885,7 @@ msgstr "" #: erpnext/public/js/utils/serial_no_batch_selector.js:373 msgid "Qty to Fetch" -msgstr "" +msgstr "Lekérendő mennyiség" #: erpnext/manufacturing/doctype/job_card/job_card.js:304 #: erpnext/manufacturing/doctype/job_card/job_card.py:769 @@ -37904,7 +37904,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom_operation/bom_operation.json #: erpnext/manufacturing/report/work_order_consumed_materials/work_order_consumed_materials.py:129 msgid "Qty to Produce" -msgstr "" +msgstr "Gyártandó mennyiség" #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:171 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:252 @@ -37928,12 +37928,12 @@ msgstr "" #. Option for the 'Qualification Status' (Select) field in DocType 'Lead' #: erpnext/crm/doctype/lead/lead.json msgid "Qualified" -msgstr "" +msgstr "Minősített" #. Label of the qualified_by (Link) field in DocType 'Lead' #: erpnext/crm/doctype/lead/lead.json msgid "Qualified By" -msgstr "" +msgstr "Minősítette:" #. Label of the qualified_on (Date) field in DocType 'Lead' #: erpnext/crm/doctype/lead/lead.json @@ -38357,11 +38357,11 @@ msgstr "" #: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:274 msgid "Quantity is required" -msgstr "" +msgstr "Mennyiség megadása kötelező" #: erpnext/stock/dashboard/item_dashboard.js:285 msgid "Quantity must be greater than zero, and less or equal to {0}" -msgstr "" +msgstr "A mennyiségnek nullánál nagyobbnak és {0}-nál kisebbnek vagy egyenlőnek kell lennie" #: erpnext/manufacturing/doctype/work_order/work_order.js:1013 #: erpnext/stock/doctype/pick_list/pick_list.js:204 @@ -38406,11 +38406,11 @@ msgstr "" #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py:37 msgid "Quantity to Produce should be greater than zero." -msgstr "" +msgstr "A gyártandó mennyiségnek nagyobbnak kell lennie nullánál." #: erpnext/public/js/utils/barcode_scanner.js:257 msgid "Quantity to Scan" -msgstr "" +msgstr "Szkennelendő mennyiség" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json @@ -38459,7 +38459,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Quintal" -msgstr "" +msgstr "Mázsa" #: erpnext/crm/report/campaign_efficiency/campaign_efficiency.py:22 #: erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py:28 @@ -38690,7 +38690,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 "Ár" #. Label of the rate_amount_section (Section Break) field in DocType 'BOM Item' #: erpnext/manufacturing/doctype/bom_item/bom_item.json @@ -38915,7 +38915,7 @@ msgstr "" #: erpnext/accounts/report/financial_ratios/financial_ratios.py:48 msgid "Ratios" -msgstr "" +msgstr "Arányok" #: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py:52 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:46 @@ -41336,7 +41336,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Rod" -msgstr "" +msgstr "Rúd" #. Label of the role_allowed_to_create_edit_back_dated_transactions (Link) #. field in DocType 'Stock Settings' @@ -43719,7 +43719,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Sazhen" -msgstr "" +msgstr "Sazhen" #. Label of the scan_barcode (Data) field in DocType 'POS Invoice' #. Label of the scan_barcode (Data) field in DocType 'Purchase Invoice' @@ -43993,7 +43993,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Second" -msgstr "" +msgstr "Másodperc" #. Label of the second_email (Time) field in DocType 'Project' #: erpnext/projects/doctype/project/project.json @@ -46609,37 +46609,37 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Centimeter" -msgstr "" +msgstr "Négyzetcentiméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Foot" -msgstr "" +msgstr "Négyzetláb" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Inch" -msgstr "" +msgstr "Négyzethüvelyk" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Kilometer" -msgstr "" +msgstr "Négyzetkilométer" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Meter" -msgstr "" +msgstr "Négyzetméter" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Mile" -msgstr "" +msgstr "Négyzetmérföld" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Square Yard" -msgstr "" +msgstr "Négyzetyard" #. Label of the stage (Data) field in DocType 'Prospect Opportunity' #: erpnext/crm/doctype/prospect_opportunity/prospect_opportunity.json @@ -47642,7 +47642,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Stone" -msgstr "" +msgstr "Kő" #. Label of the stop_reason (Select) field in DocType 'Downtime Entry' #: erpnext/manufacturing/doctype/downtime_entry/downtime_entry.json @@ -48701,7 +48701,7 @@ msgstr "" #: erpnext/selling/doctype/quotation/quotation.json #: erpnext/stock/doctype/material_request/material_request.js:196 msgid "Supplier Quotation" -msgstr "" +msgstr "Beszállítói ajánlat" #. Name of a report #. Label of a Link in the Buying Workspace @@ -49004,7 +49004,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Tablespoon (US)" -msgstr "" +msgstr "Evőkanál (USA)" #. Label of the target_amount (Float) field in DocType 'Target Detail' #: erpnext/setup/doctype/target_detail/target_detail.json @@ -49770,12 +49770,12 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Teaspoon" -msgstr "" +msgstr "Teáskanál" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Technical Atmosphere" -msgstr "" +msgstr "Műszaki Atmoszféra" #: erpnext/setup/setup_wizard/data/industry_type.txt:47 msgid "Technology" @@ -50110,7 +50110,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Tesla" -msgstr "" +msgstr "Tesla" #. Description of the 'Display Name' (Data) field in DocType 'Financial Report #. Row' @@ -51410,22 +51410,22 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ton-Force (UK)" -msgstr "" +msgstr "Tonna-erő (Egyesült Királyság)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ton-Force (US)" -msgstr "" +msgstr "Tonna-erő (USA)" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Tonne" -msgstr "" +msgstr "Tonna" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Tonne-Force(Metric)" -msgstr "" +msgstr "Tonna-erő(Metrikus)" #: erpnext/accounts/report/financial_statements.html:6 msgid "Too many columns. Export the report and print it using a spreadsheet application." @@ -53076,7 +53076,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Unit" -msgstr "" +msgstr "Egység" #: erpnext/controllers/accounts_controller.py:4041 msgid "Unit Price" @@ -54489,7 +54489,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Volt-Ampere" -msgstr "" +msgstr "Volt-Amper" #: erpnext/accounts/report/purchase_register/purchase_register.py:163 #: erpnext/accounts/report/sales_register/sales_register.py:179 @@ -55051,27 +55051,27 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Watt" -msgstr "" +msgstr "Watt" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Watt-Hour" -msgstr "" +msgstr "Wattóra" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Wavelength In Gigametres" -msgstr "" +msgstr "Hullámhossz gigaméterben" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Wavelength In Kilometres" -msgstr "" +msgstr "Hullámhossz kilométerben" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Wavelength In Megametres" -msgstr "" +msgstr "Hullámhossz megaméterben" #: erpnext/www/support/index.html:7 msgid "We're here to help!" @@ -55720,7 +55720,7 @@ msgstr "" #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Yard" -msgstr "" +msgstr "Yard" #. Label of the year_end_date (Date) field in DocType 'Fiscal Year' #: erpnext/accounts/doctype/fiscal_year/fiscal_year.json diff --git a/erpnext/locale/main.pot b/erpnext/locale/main.pot index df1a71d3407..ba553d180ca 100644 --- a/erpnext/locale/main.pot +++ b/erpnext/locale/main.pot @@ -1,14 +1,14 @@ # Translations template for ERPNext. -# Copyright (C) 2025 Frappe Technologies Pvt. Ltd. +# Copyright (C) 2026 Frappe Technologies Pvt. Ltd. # This file is distributed under the same license as the ERPNext project. -# FIRST AUTHOR , 2025. +# FIRST AUTHOR , 2026. # msgid "" msgstr "" "Project-Id-Version: ERPNext VERSION\n" "Report-Msgid-Bugs-To: hello@frappe.io\n" -"POT-Creation-Date: 2025-12-21 09:37+0000\n" -"PO-Revision-Date: 2025-12-21 09:37+0000\n" +"POT-Creation-Date: 2026-01-19 09:52+0000\n" +"PO-Revision-Date: 2026-01-19 09:52+0000\n" "Last-Translator: hello@frappe.io\n" "Language-Team: hello@frappe.io\n" "MIME-Version: 1.0\n" @@ -21,7 +21,7 @@ msgstr "" msgid " " msgstr "" -#: erpnext/selling/doctype/quotation/quotation.js:73 +#: erpnext/selling/doctype/quotation/quotation.js:82 msgid " Address" msgstr "" @@ -53,8 +53,6 @@ msgid " Item" msgstr "" #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:153 -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:206 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:107 #: erpnext/selling/report/sales_analytics/sales_analytics.py:128 msgid " Name" msgstr "" @@ -86,15 +84,15 @@ msgstr "" msgid " Summary" msgstr "" -#: erpnext/stock/doctype/item/item.py:238 +#: erpnext/stock/doctype/item/item.py:253 msgid "\"Customer Provided Item\" cannot be Purchase Item also" msgstr "" -#: erpnext/stock/doctype/item/item.py:240 +#: erpnext/stock/doctype/item/item.py:255 msgid "\"Customer Provided Item\" cannot have Valuation Rate" msgstr "" -#: erpnext/stock/doctype/item/item.py:315 +#: erpnext/stock/doctype/item/item.py:334 msgid "\"Is Fixed Asset\" cannot be unchecked, as Asset record exists against the item" msgstr "" @@ -149,7 +147,7 @@ msgstr "" msgid "% Delivered" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:962 +#: erpnext/manufacturing/doctype/bom/bom.js:991 #, python-format msgid "% Finished Item Quantity" msgstr "" @@ -254,7 +252,7 @@ msgstr "" msgid "% of materials delivered against this Sales Order" msgstr "" -#: erpnext/controllers/accounts_controller.py:2368 +#: erpnext/controllers/accounts_controller.py:2372 msgid "'Account' in the Accounting section of Customer {0}" msgstr "" @@ -270,17 +268,17 @@ msgstr "" msgid "'Days Since Last Order' must be greater than or equal to zero" msgstr "" -#: erpnext/controllers/accounts_controller.py:2373 +#: erpnext/controllers/accounts_controller.py:2377 msgid "'Default {0} Account' in Company {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1198 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1220 msgid "'Entries' cannot be empty" msgstr "" #: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:24 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:127 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:313 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:312 msgid "'From Date' is required" msgstr "" @@ -288,26 +286,26 @@ msgstr "" msgid "'From Date' must be after 'To Date'" msgstr "" -#: erpnext/stock/doctype/item/item.py:398 +#: erpnext/stock/doctype/item/item.py:417 msgid "'Has Serial No' can not be 'Yes' for non-stock item" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:139 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:143 msgid "'Inspection Required before Delivery' has disabled for the item {0}, no need to create the QI" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:130 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:134 msgid "'Inspection Required before Purchase' has disabled for the item {0}, no need to create the QI" msgstr "" -#: erpnext/stock/report/stock_ledger/stock_ledger.py:601 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:634 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:600 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:633 msgid "'Opening'" msgstr "" #: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:27 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:129 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:319 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:318 msgid "'To Date' is required" msgstr "" @@ -319,7 +317,7 @@ msgstr "" msgid "'Update Stock' can not be checked because items are not delivered via {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:388 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:413 msgid "'Update Stock' cannot be checked for fixed asset sale" msgstr "" @@ -327,12 +325,12 @@ msgstr "" msgid "'{0}' account is already used by {1}. Use another account." msgstr "" -#: erpnext/accounts/doctype/pos_settings/pos_settings.py:43 +#: erpnext/accounts/doctype/pos_settings/pos_settings.py:44 msgid "'{0}' has been already added." msgstr "" -#: erpnext/setup/doctype/company/company.py:295 -#: erpnext/setup/doctype/company/company.py:306 +#: erpnext/setup/doctype/company/company.py:302 +#: erpnext/setup/doctype/company/company.py:313 msgid "'{0}' should be in company currency {1}." msgstr "" @@ -588,11 +586,16 @@ msgstr "" msgid "90 Above" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:533 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1288 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1289 +msgid "<0" +msgstr "" + +#: erpnext/assets/doctype/asset/asset.py:535 msgid "Cannot create asset.

You're trying to create {0} asset(s) from {2} {3}.
However, only {1} item(s) were purchased and {4} asset(s) already exist against {5}." msgstr "" -#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:61 +#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:59 msgid "From Time cannot be later than To Time for {0}" msgstr "" @@ -749,7 +752,7 @@ msgstr "" msgid "
  • Clearance date must be after cheque date for row(s): {0}
  • " msgstr "" -#: erpnext/controllers/accounts_controller.py:2261 +#: erpnext/controllers/accounts_controller.py:2265 msgid "
  • Item {0} in row(s) {1} billed more than {2}
  • " msgstr "" @@ -766,7 +769,7 @@ msgstr "" msgid "
  • {}
  • " msgstr "" -#: erpnext/controllers/accounts_controller.py:2258 +#: erpnext/controllers/accounts_controller.py:2262 msgid "

    Cannot overbill for the following Items:

    " msgstr "" @@ -811,7 +814,7 @@ 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:2270 +#: erpnext/controllers/accounts_controller.py:2274 msgid "

    To allow over-billing, please set allowance in Accounts Settings.

    " msgstr "" @@ -852,22 +855,13 @@ 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 -#: erpnext/assets/workspace/assets/assets.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 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 @@ -875,10 +869,8 @@ msgstr "" #. 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/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 @@ -888,20 +880,13 @@ msgstr "" msgid "Reports & Masters" msgstr "" -#. Header text in the Payables Workspace -#. Header text in the Receivables Workspace -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json -msgid "Shortcuts" -msgstr "" - #. Header text in the Subcontracting Workspace #: erpnext/subcontracting/workspace/subcontracting/subcontracting.json msgid "Subcontracting Inward and Outward" msgstr "" -#. Header text in the Settings Workspace -#: erpnext/setup/workspace/settings/settings.json +#. Header text in the ERPNext Settings Workspace +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json msgid "" "Your Shortcuts\n" "\t\t\t\n" @@ -912,30 +897,18 @@ msgid "" "\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:1002 +#: erpnext/accounts/doctype/payment_request/payment_request.py:1005 msgid "Grand Total: {0}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:1003 +#: erpnext/accounts/doctype/payment_request/payment_request.py:1006 msgid "Outstanding Amount: {0}" msgstr "" @@ -990,7 +963,7 @@ msgstr "" msgid "A - C" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:323 +#: erpnext/selling/doctype/customer/customer.py:328 msgid "A Customer Group exists with same name please change the Customer name or rename the Customer Group" msgstr "" @@ -1016,15 +989,15 @@ msgstr "" msgid "A Product or a Service that is bought, sold or kept in stock." msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:560 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:570 msgid "A Reconciliation Job {0} is running for the same filters. Cannot reconcile now" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1952 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1750 msgid "A Reverse Journal Entry {0} already exists for this Journal Entry." msgstr "" -#: erpnext/setup/doctype/company/company.py:1078 +#: erpnext/setup/doctype/company/company.py:1095 msgid "A Transaction Deletion Document: {0} is triggered for {0}" msgstr "" @@ -1039,7 +1012,7 @@ msgstr "" msgid "A customer must have primary contact email." msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:55 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:59 msgid "A driver must be set to submit." msgstr "" @@ -1048,7 +1021,7 @@ msgstr "" msgid "A logical Warehouse against which stock entries are made." msgstr "" -#: erpnext/stock/serial_batch_bundle.py:1440 +#: erpnext/stock/serial_batch_bundle.py:1500 msgid "A naming series conflict occurred while creating serial numbers. Please change the naming series for the item {0}." msgstr "" @@ -1091,7 +1064,7 @@ msgstr "" msgid "ACC-PINV-.YYYY.-" msgstr "" -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:548 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:552 msgid "AMC Expiry (Serial)" msgstr "" @@ -1128,19 +1101,19 @@ msgstr "" msgid "Abbreviation" msgstr "" -#: erpnext/setup/doctype/company/company.py:230 +#: erpnext/setup/doctype/company/company.py:237 msgid "Abbreviation already used for another company" msgstr "" -#: erpnext/setup/doctype/company/company.py:227 +#: erpnext/setup/doctype/company/company.py:234 msgid "Abbreviation is mandatory" msgstr "" -#: erpnext/stock/doctype/item_attribute/item_attribute.py:113 +#: erpnext/stock/doctype/item_attribute/item_attribute.py:112 msgid "Abbreviation: {0} must appear only once" msgstr "" -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1281 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1285 msgid "Above" msgstr "" @@ -1185,7 +1158,7 @@ msgstr "" #. Label of the qty (Float) field in DocType 'Purchase Receipt Item' #. Label of the qty (Float) field in DocType 'Subcontracting Receipt Item' -#: erpnext/public/js/controllers/transaction.js:2795 +#: erpnext/public/js/controllers/transaction.js:2815 #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json msgid "Accepted Quantity" @@ -1218,7 +1191,7 @@ msgstr "" msgid "According to CEFACT/ICG/2010/IC013 or CEFACT/ICG/2010/IC010" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:939 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:950 msgid "According to the BOM {0}, the Item '{1}' is missing in the stock entry." msgstr "" @@ -1230,7 +1203,7 @@ msgstr "" #. Label of the account_category (Link) field in DocType 'Account' #. Name of a DocType #: erpnext/accounts/doctype/account/account.json -#: erpnext/accounts/doctype/account/account_tree.js:166 +#: erpnext/accounts/doctype/account/account_tree.js:167 #: erpnext/accounts/doctype/account_category/account_category.json msgid "Account Category" msgstr "" @@ -1316,14 +1289,12 @@ msgstr "" msgid "Account Details" msgstr "" -#. Label of the account_head (Link) field in DocType 'Advance Tax' #. Label of the account_head (Link) field in DocType 'Advance Taxes and #. 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_tax/advance_tax.json #: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json #: erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.json #: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json @@ -1336,8 +1307,8 @@ msgstr "" msgid "Account Manager" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:983 -#: erpnext/controllers/accounts_controller.py:2377 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1009 +#: erpnext/controllers/accounts_controller.py:2381 msgid "Account Missing" msgstr "" @@ -1361,7 +1332,7 @@ msgstr "" #. Label of the account_number (Data) field in DocType 'Account' #: erpnext/accounts/doctype/account/account.json -#: erpnext/accounts/doctype/account/account_tree.js:132 +#: erpnext/accounts/doctype/account/account_tree.js:133 #: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:416 #: erpnext/accounts/report/financial_statements.py:688 #: erpnext/accounts/report/trial_balance/trial_balance.py:487 @@ -1408,7 +1379,7 @@ msgstr "" #. 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_tree.js:158 +#: erpnext/accounts/doctype/account/account_tree.js:159 #: erpnext/accounts/doctype/bank_account/bank_account.json #: erpnext/accounts/doctype/bank_account_type/bank_account_type.json #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json @@ -1419,7 +1390,7 @@ msgstr "" msgid "Account Type" msgstr "" -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:128 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:162 msgid "Account Value" msgstr "" @@ -1441,7 +1412,7 @@ msgstr "" msgid "Account for Change Amount" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:150 +#: erpnext/accounts/doctype/budget/budget.py:148 msgid "Account is mandatory" msgstr "" @@ -1453,7 +1424,7 @@ msgstr "" msgid "Account is not set for the dashboard chart {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:883 +#: erpnext/assets/doctype/asset/asset.py:897 msgid "Account not Found" msgstr "" @@ -1478,7 +1449,7 @@ msgstr "" msgid "Account with existing transaction cannot be converted to ledger" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:67 +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:79 msgid "Account {0} added multiple times" msgstr "" @@ -1490,11 +1461,11 @@ msgstr "" msgid "Account {0} cannot be disabled as it is already set as {1} for {2}." msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:159 +#: erpnext/accounts/doctype/budget/budget.py:157 msgid "Account {0} does not belong to company {1}" msgstr "" -#: erpnext/setup/doctype/company/company.py:277 +#: erpnext/setup/doctype/company/company.py:284 msgid "Account {0} does not belong to company: {1}" msgstr "" @@ -1526,19 +1497,19 @@ msgstr "" msgid "Account {0} is added in the child company {1}" msgstr "" -#: erpnext/setup/doctype/company/company.py:266 +#: erpnext/setup/doctype/company/company.py:273 msgid "Account {0} is disabled." msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:430 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:428 msgid "Account {0} is frozen" msgstr "" -#: erpnext/controllers/accounts_controller.py:1464 +#: erpnext/controllers/accounts_controller.py:1468 msgid "Account {0} is invalid. Account Currency must be {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:337 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:347 msgid "Account {0} should be of type Expense" msgstr "" @@ -1558,19 +1529,19 @@ msgstr "" msgid "Account {0}: You can not assign itself as parent account" msgstr "" -#: erpnext/accounts/general_ledger.py:459 +#: erpnext/accounts/general_ledger.py:463 msgid "Account: {0} is capital Work in progress and can not be updated by Journal Entry" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:352 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:362 msgid "Account: {0} can only be updated via Stock Transactions" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2787 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2708 msgid "Account: {0} is not permitted under Payment Entry" msgstr "" -#: erpnext/controllers/accounts_controller.py:3263 +#: erpnext/controllers/accounts_controller.py:3267 msgid "Account: {0} with currency: {1} can not be selected" msgstr "" @@ -1659,13 +1630,13 @@ msgstr "" msgid "Accounting Dimension" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:215 -#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:151 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:213 +#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:149 msgid "Accounting Dimension {0} is required for 'Balance Sheet' account {1}." msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:201 -#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:138 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:200 +#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:137 msgid "Accounting Dimension {0} is required for 'Profit and Loss' account {1}." msgstr "" @@ -1843,14 +1814,14 @@ msgstr "" msgid "Accounting Entries" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:917 -#: erpnext/assets/doctype/asset/asset.py:932 -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:562 +#: erpnext/assets/doctype/asset/asset.py:931 +#: erpnext/assets/doctype/asset/asset.py:946 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:561 msgid "Accounting Entry for Asset" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1883 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1903 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1896 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1916 msgid "Accounting Entry for LCV in Stock Entry {0}" msgstr "" @@ -1858,33 +1829,33 @@ msgstr "" msgid "Accounting Entry for Landed Cost Voucher for SCR {0}" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:839 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:837 msgid "Accounting Entry for Service" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1013 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1034 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1052 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1073 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1094 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1122 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1229 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1465 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1487 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1015 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1036 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1054 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1075 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1096 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1124 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1231 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1467 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1489 #: erpnext/controllers/stock_controller.py:683 #: erpnext/controllers/stock_controller.py:700 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:932 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1828 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1842 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:930 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1841 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1855 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:708 msgid "Accounting Entry for Stock" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:736 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:734 msgid "Accounting Entry for {0}" msgstr "" -#: erpnext/controllers/accounts_controller.py:2418 +#: erpnext/controllers/accounts_controller.py:2422 msgid "Accounting Entry for {0}: {1} can only be made in currency: {2}" msgstr "" @@ -1944,7 +1915,7 @@ msgstr "" #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/selling/doctype/customer/customer.json #: erpnext/setup/doctype/company/company.json -#: erpnext/setup/doctype/company/company.py:436 +#: erpnext/setup/doctype/company/company.py:443 #: erpnext/setup/doctype/customer_group/customer_group.json #: erpnext/setup/doctype/email_digest/email_digest.json #: erpnext/setup/doctype/incoterm/incoterm.json @@ -1970,10 +1941,6 @@ msgstr "" msgid "Accounts Included in Report" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:362 -msgid "Accounts Missing Error" -msgstr "" - #: erpnext/accounts/doctype/financial_report_template/financial_report_template.js:166 #: erpnext/accounts/doctype/financial_report_template/financial_report_template.js:191 msgid "Accounts Missing from Report" @@ -1982,23 +1949,18 @@ msgstr "" #. Option for the 'Write Off Based On' (Select) field in DocType 'Journal #. Entry' #. Name of a report -#. Label of a Link in the Payables Workspace -#. Label of a shortcut in the Payables Workspace #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:154 #: 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:113 -#: erpnext/accounts/workspace/payables/payables.json #: erpnext/buying/doctype/supplier/supplier.js:104 msgid "Accounts Payable" msgstr "" #. Name of a report -#. Label of a Link in the Payables Workspace #: erpnext/accounts/report/accounts_payable/accounts_payable.js:164 #: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.json -#: erpnext/accounts/workspace/payables/payables.json msgid "Accounts Payable Summary" msgstr "" @@ -2007,15 +1969,12 @@ msgstr "" #. Option for the 'Report' (Select) field in DocType 'Process Statement Of #. Accounts' #. Name of a report -#. Label of a Link in the Receivables Workspace -#. Label of a shortcut in the Receivables Workspace #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:12 #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:12 #: 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:136 -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/selling/doctype/customer/customer.js:162 msgid "Accounts Receivable" msgstr "" @@ -2039,10 +1998,8 @@ msgid "Accounts Receivable Discounted Account" msgstr "" #. Name of a report -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:191 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Accounts Receivable Summary" msgstr "" @@ -2060,14 +2017,14 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Accounting Workspace -#. Label of a shortcut in the Settings Workspace +#. Label of a shortcut in the ERPNext Settings Workspace #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json #: erpnext/accounts/workspace/accounting/accounting.json -#: erpnext/setup/workspace/settings/settings.json +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json msgid "Accounts Settings" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1297 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1319 msgid "Accounts table cannot be blank." msgstr "" @@ -2101,7 +2058,7 @@ 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:302 +#: erpnext/assets/doctype/asset/asset.js:340 #: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json msgid "Accumulated Depreciation Amount" msgstr "" @@ -2111,7 +2068,7 @@ msgstr "" msgid "Accumulated Depreciation as on" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:521 +#: erpnext/accounts/doctype/budget/budget.py:519 msgid "Accumulated Monthly" msgstr "" @@ -2308,8 +2265,10 @@ msgstr "" #: 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 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:100 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:110 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:237 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:241 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:323 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:333 msgid "Actual" msgstr "" @@ -2360,7 +2319,7 @@ msgstr "" msgid "Actual End Date (via Timesheet)" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:222 +#: erpnext/manufacturing/doctype/work_order/work_order.py:225 msgid "Actual End Date cannot be before Actual Start Date" msgstr "" @@ -2370,11 +2329,11 @@ msgstr "" msgid "Actual End Time" msgstr "" -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:381 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:451 msgid "Actual Expense" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:601 +#: erpnext/accounts/doctype/budget/budget.py:599 msgid "Actual Expenses" msgstr "" @@ -2406,7 +2365,7 @@ 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/report/product_bundle_balance/product_bundle_balance.py:96 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:95 #: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:141 msgid "Actual Qty" msgstr "" @@ -2422,7 +2381,7 @@ msgstr "" msgid "Actual Qty in Warehouse" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:202 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:201 msgid "Actual Qty is mandatory" msgstr "" @@ -2482,16 +2441,16 @@ msgstr "" msgid "Actual qty in stock" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1521 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1532 #: erpnext/public/js/controllers/accounts.js:197 msgid "Actual type tax cannot be included in Item rate in row {0}" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1005 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1004 msgid "Ad-hoc Qty" msgstr "" -#: erpnext/stock/doctype/item/item.js:576 +#: erpnext/stock/doctype/item/item.js:583 #: erpnext/stock/doctype/price_list/price_list.js:8 msgid "Add / Edit Prices" msgstr "" @@ -2583,7 +2542,7 @@ msgid "Add Quote" msgstr "" #. Label of the add_raw_materials (Button) field in DocType 'BOM Operation' -#: erpnext/manufacturing/doctype/bom/bom.js:990 +#: erpnext/manufacturing/doctype/bom/bom.js:1019 #: erpnext/manufacturing/doctype/bom_operation/bom_operation.json msgid "Add Raw Materials" msgstr "" @@ -2644,7 +2603,7 @@ msgstr "" msgid "Add Sub Assembly" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:503 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:513 #: erpnext/public/js/event.js:32 msgid "Add Suppliers" msgstr "" @@ -2668,7 +2627,7 @@ msgid "Add details" msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.js:86 -#: erpnext/stock/doctype/pick_list/pick_list.py:882 +#: erpnext/stock/doctype/pick_list/pick_list.py:870 msgid "Add items in the Item Locations table" msgstr "" @@ -2699,6 +2658,10 @@ msgstr "" msgid "Add to Transit" msgstr "" +#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:117 +msgid "Add vouchers to generate preview." +msgstr "" + #: erpnext/accounts/doctype/coupon_code/coupon_code.js:36 msgid "Add/Edit Coupon Conditions" msgstr "" @@ -2713,7 +2676,7 @@ msgstr "" msgid "Added On" msgstr "" -#: erpnext/buying/doctype/supplier/supplier.py:132 +#: erpnext/buying/doctype/supplier/supplier.py:134 msgid "Added Supplier Role to User {0}." msgstr "" @@ -2855,7 +2818,7 @@ msgstr "" msgid "Additional Discount Amount (Company Currency)" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:805 +#: erpnext/controllers/taxes_and_totals.py:790 msgid "Additional Discount Amount ({discount_amount}) cannot exceed the total before such discount ({total_before_discount})" msgstr "" @@ -2954,7 +2917,7 @@ msgstr "" msgid "Additional Transferred Qty" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:660 +#: erpnext/manufacturing/doctype/work_order/work_order.py:664 msgid "" "Additional Transferred Qty {0}\n" "\t\t\t\t\tcannot be greater than {1}.\n" @@ -3117,11 +3080,11 @@ msgstr "" msgid "Adjust Qty" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1108 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1126 msgid "Adjustment Against" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:664 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:662 msgid "Adjustment based on Purchase Invoice rate" msgstr "" @@ -3200,13 +3163,6 @@ msgstr "" msgid "Advance Payments" msgstr "" -#. Name of a DocType -#. Label of the advance_tax (Table) field in DocType 'Purchase Invoice' -#: erpnext/accounts/doctype/advance_tax/advance_tax.json -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json -msgid "Advance Tax" -msgstr "" - #. Name of a DocType #. Label of the taxes (Table) field in DocType 'Payment Entry' #: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json @@ -3238,11 +3194,11 @@ msgstr "" msgid "Advance amount" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:942 +#: erpnext/controllers/taxes_and_totals.py:927 msgid "Advance amount cannot be greater than {0} {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:845 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:867 msgid "Advance paid against {0} {1} cannot be greater than Grand Total {2}" msgstr "" @@ -3315,7 +3271,7 @@ msgstr "" msgid "Against Blanket Order" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1076 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1102 msgid "Against Customer Order {0}" msgstr "" @@ -3370,12 +3326,12 @@ msgstr "" msgid "Against Income Account" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:707 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:771 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:729 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:776 msgid "Against Journal Entry {0} does not have any unmatched {1} entry" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:395 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:393 msgid "Against Journal Entry {0} is already adjusted against some other voucher" msgstr "" @@ -3456,7 +3412,7 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:154 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:133 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1222 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1226 msgid "Age (Days)" msgstr "" @@ -3556,7 +3512,7 @@ msgstr "" #: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js:165 #: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js:185 #: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:166 -#: erpnext/accounts/utils.py:1490 erpnext/public/js/setup_wizard.js:184 +#: erpnext/accounts/utils.py:1531 erpnext/public/js/setup_wizard.js:184 msgid "All Accounts" msgstr "" @@ -3608,21 +3564,21 @@ msgstr "" #: 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:429 -#: erpnext/setup/doctype/company/company.py:432 -#: erpnext/setup/doctype/company/company.py:437 -#: erpnext/setup/doctype/company/company.py:443 -#: 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:436 +#: erpnext/setup/doctype/company/company.py:439 +#: erpnext/setup/doctype/company/company.py:444 +#: erpnext/setup/doctype/company/company.py:450 +#: erpnext/setup/doctype/company/company.py:456 +#: erpnext/setup/doctype/company/company.py:462 +#: erpnext/setup/doctype/company/company.py:468 +#: erpnext/setup/doctype/company/company.py:474 +#: erpnext/setup/doctype/company/company.py:480 +#: erpnext/setup/doctype/company/company.py:486 +#: erpnext/setup/doctype/company/company.py:492 +#: erpnext/setup/doctype/company/company.py:498 +#: erpnext/setup/doctype/company/company.py:504 +#: erpnext/setup/doctype/company/company.py:510 +#: erpnext/setup/doctype/company/company.py:516 msgid "All Departments" msgstr "" @@ -3631,8 +3587,8 @@ msgstr "" msgid "All Employee (Active)" msgstr "" +#: erpnext/setup/doctype/item_group/item_group.py:35 #: 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 @@ -3642,7 +3598,8 @@ msgstr "" msgid "All Item Groups" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:25 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:27 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:247 msgid "All Items" msgstr "" @@ -3698,7 +3655,7 @@ msgstr "" msgid "All Territories" msgstr "" -#: erpnext/setup/doctype/company/company.py:374 +#: erpnext/setup/doctype/company/company.py:381 msgid "All Warehouses" msgstr "" @@ -3712,11 +3669,11 @@ msgstr "" msgid "All communications including and above this shall be moved into the new Issue" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:946 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:966 msgid "All items are already requested" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1369 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1418 msgid "All items have already been Invoiced/Returned" msgstr "" @@ -3724,19 +3681,19 @@ msgstr "" msgid "All items have already been received" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2993 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3047 msgid "All items have already been transferred for this Work Order." msgstr "" -#: erpnext/public/js/controllers/transaction.js:2903 +#: erpnext/public/js/controllers/transaction.js:2923 msgid "All items in this document already have a linked Quality Inspection." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1215 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1241 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:1226 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1252 msgid "All linked Sales Orders must be subcontracted." msgstr "" @@ -3773,7 +3730,7 @@ msgstr "" msgid "Allocate Advances Automatically (FIFO)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:910 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:921 msgid "Allocate Payment Amount" msgstr "" @@ -3783,11 +3740,11 @@ msgstr "" msgid "Allocate Payment Based On Payment Terms" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1711 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1722 msgid "Allocate Payment Request" msgstr "" -#. Label of the allocated_amount (Float) field in DocType 'Payment Entry +#. Label of the allocated_amount (Currency) field in DocType 'Payment Entry #. Reference' #. Label of the allocated (Check) field in DocType 'Process Payment #. Reconciliation Log' @@ -3796,9 +3753,6 @@ msgstr "" msgid "Allocated" msgstr "" -#. Label of the allocated_amount (Currency) field in DocType 'Advance Tax' -#. Label of the allocated_amount (Currency) field in DocType 'Advance Taxes and -#. Charges' #. Label of the allocated_amount (Currency) field in DocType 'Bank Transaction' #. Label of the allocated_amount (Currency) field in DocType 'Bank Transaction #. Payments' @@ -3810,11 +3764,9 @@ msgstr "" #. Advance' #. Label of the allocated_amount (Currency) field in DocType 'Unreconcile #. Payment Entries' -#: erpnext/accounts/doctype/advance_tax/advance_tax.json -#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json #: erpnext/accounts/doctype/bank_transaction/bank_transaction.json #: erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1702 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1713 #: erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json #: erpnext/accounts/doctype/process_payment_reconciliation_log_allocations/process_payment_reconciliation_log_allocations.json #: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json @@ -3840,11 +3792,11 @@ msgstr "" msgid "Allocated amount" msgstr "" -#: erpnext/accounts/utils.py:621 +#: erpnext/accounts/utils.py:646 msgid "Allocated amount cannot be greater than unadjusted amount" msgstr "" -#: erpnext/accounts/utils.py:619 +#: erpnext/accounts/utils.py:644 msgid "Allocated amount cannot be negative" msgstr "" @@ -4286,7 +4238,7 @@ msgstr "" msgid "Allows users to submit Supplier Quotations with zero quantity. Useful when rates are fixed but the quantities are not. Eg. Rate Contracts." msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:1024 +#: erpnext/stock/doctype/pick_list/pick_list.py:1012 msgid "Already Picked" msgstr "" @@ -4302,11 +4254,11 @@ msgstr "" msgid "Also you can't switch back to FIFO after setting the valuation method to Moving Average for this item." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:222 +#: erpnext/manufacturing/doctype/bom/bom.js:250 #: erpnext/manufacturing/doctype/work_order/work_order.js:165 #: erpnext/manufacturing/doctype/work_order/work_order.js:180 #: erpnext/public/js/utils.js:496 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:269 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:287 msgid "Alternate Item" msgstr "" @@ -4322,7 +4274,7 @@ msgstr "" msgid "Alternative Item Name" msgstr "" -#: erpnext/selling/doctype/quotation/quotation.js:369 +#: erpnext/selling/doctype/quotation/quotation.js:378 msgid "Alternative Items" msgstr "" @@ -4446,7 +4398,7 @@ msgstr "" #: erpnext/accounts/doctype/bank_guarantee/bank_guarantee.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:592 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:613 #: 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 @@ -4501,7 +4453,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom_item/bom_item.json #: erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.json #: erpnext/manufacturing/doctype/work_order_item/work_order_item.json -#: erpnext/selling/doctype/quotation/quotation.js:307 +#: erpnext/selling/doctype/quotation/quotation.js:316 #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order_item/sales_order_item.json #: erpnext/selling/page/point_of_sale/pos_item_cart.js:46 @@ -4653,19 +4605,19 @@ msgstr "" msgid "Amount to Bill" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1324 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1242 msgid "Amount {0} {1} against {2} {3}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1335 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1253 msgid "Amount {0} {1} deducted against {2}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1299 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1217 msgid "Amount {0} {1} transferred from {2} to {3}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1305 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1223 msgid "Amount {0} {1} {2} {3}" msgstr "" @@ -4704,7 +4656,7 @@ msgstr "" msgid "An Item Group is a way to classify items based on types." msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:520 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:527 msgid "An error has been appeared while reposting item valuation via {0}" msgstr "" @@ -4756,7 +4708,7 @@ msgstr "" msgid "Annual Revenue" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:142 +#: erpnext/accounts/doctype/budget/budget.py:140 msgid "Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' with overlapping fiscal years." msgstr "" @@ -4764,7 +4716,7 @@ 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:752 +#: erpnext/accounts/doctype/payment_request/payment_request.py:755 msgid "Another Payment Request is already processed" msgstr "" @@ -5020,30 +4972,6 @@ msgstr "" msgid "Apply SLA for Resolution Time" msgstr "" -#. Label of the apply_tds (Check) field in DocType 'Purchase Invoice Item' -#. Label of the apply_tds (Check) field in DocType 'Purchase Order Item' -#. Label of the apply_tds (Check) 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/purchase_receipt_item/purchase_receipt_item.json -msgid "Apply TDS" -msgstr "" - -#. Label of the apply_tax_withholding_amount (Check) field in DocType 'Payment -#. Entry' -#. Label of the apply_tds (Check) field in DocType 'Purchase Invoice' -#. Label of the apply_tds (Check) field in DocType 'Purchase Order' -#: erpnext/accounts/doctype/payment_entry/payment_entry.json -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json -#: erpnext/buying/doctype/purchase_order/purchase_order.json -msgid "Apply Tax Withholding Amount" -msgstr "" - -#. Label of the apply_tds (Check) field in DocType 'Journal Entry' -#: erpnext/accounts/doctype/journal_entry/journal_entry.json -msgid "Apply Tax Withholding Amount " -msgstr "" - #. Label of the apply_restriction_on_values (Check) field in DocType #. 'Accounting Dimension Filter' #: erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.json @@ -5062,9 +4990,7 @@ msgid "Apply to Document" msgstr "" #. Name of a DocType -#. Label of a Link in the CRM Workspace #: erpnext/crm/doctype/appointment/appointment.json -#: erpnext/crm/workspace/crm/crm.json msgid "Appointment" msgstr "" @@ -5211,7 +5137,7 @@ msgstr "" msgid "As the field {0} is enabled, the value of the field {1} should be more than 1." msgstr "" -#: erpnext/stock/doctype/item/item.py:987 +#: erpnext/stock/doctype/item/item.py:1006 msgid "As there are existing submitted transactions against item {0}, you can not change the value of {1}." msgstr "" @@ -5219,11 +5145,11 @@ msgstr "" msgid "As there are reserved stock, you cannot disable {0}." msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1066 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1086 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:1802 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1822 msgid "As there are sufficient raw materials, Material Request is not required for Warehouse {0}." msgstr "" @@ -5252,7 +5178,6 @@ msgstr "" #. 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 @@ -5273,7 +5198,7 @@ msgstr "" #: 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:189 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:192 #: erpnext/stock/doctype/serial_no/serial_no.json msgid "Asset" msgstr "" @@ -5323,7 +5248,6 @@ msgstr "" #. 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 @@ -5336,7 +5260,7 @@ msgstr "" #: 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:485 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:484 #: erpnext/assets/workspace/assets/assets.json #: erpnext/stock/doctype/item/item.json #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json @@ -5353,7 +5277,7 @@ msgstr "" msgid "Asset Category Name" msgstr "" -#: erpnext/stock/doctype/item/item.py:307 +#: erpnext/stock/doctype/item/item.py:326 msgid "Asset Category is mandatory for Fixed Asset item" msgstr "" @@ -5374,24 +5298,24 @@ msgstr "" msgid "Asset Depreciation Schedule" msgstr "" -#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:179 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:178 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 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:246 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:184 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 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:82 msgid "Asset Depreciation Schedule {0} for Asset {1} already exists." msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:77 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:76 msgid "Asset Depreciation Schedule {0} for Asset {1} and Finance Book {2} already exists." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:236 +#: erpnext/assets/doctype/asset/asset.py:235 msgid "Asset Depreciation Schedules created/updated:
    {0}

    Please check, edit if needed, and submit the Asset." msgstr "" @@ -5417,7 +5341,7 @@ msgstr "" msgid "Asset Finance Book" msgstr "" -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:477 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:476 msgid "Asset ID" msgstr "" @@ -5464,7 +5388,7 @@ msgstr "" #. Label of a Link in the Assets Workspace #: erpnext/assets/doctype/asset_movement/asset_movement.json #: erpnext/assets/workspace/assets/assets.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:200 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:203 msgid "Asset Movement" msgstr "" @@ -5473,7 +5397,7 @@ msgstr "" msgid "Asset Movement Item" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1163 +#: erpnext/assets/doctype/asset/asset.py:1177 msgid "Asset Movement record {0} created" msgstr "" @@ -5495,7 +5419,7 @@ msgstr "" #: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.json #: erpnext/assets/doctype/asset_movement_item/asset_movement_item.json #: erpnext/assets/doctype/asset_repair/asset_repair.json -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:483 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:482 msgid "Asset Name" msgstr "" @@ -5579,11 +5503,11 @@ msgstr "" #. Label of the asset_value (Currency) field in DocType 'Asset Capitalization #. Asset Item' #: erpnext/assets/dashboard_fixtures.py:175 -#: erpnext/assets/doctype/asset/asset.js:434 +#: erpnext/assets/doctype/asset/asset.js:472 #: 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 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:507 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:208 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:459 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:506 msgid "Asset Value" msgstr "" @@ -5604,11 +5528,11 @@ msgstr "" msgid "Asset Value Analytics" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:272 +#: erpnext/assets/doctype/asset/asset.py:271 msgid "Asset cancelled" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:712 +#: erpnext/assets/doctype/asset/asset.py:726 msgid "Asset cannot be cancelled, as it is already {0}" msgstr "" @@ -5616,19 +5540,19 @@ msgstr "" msgid "Asset cannot be scrapped before the last depreciation entry." msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:612 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:611 msgid "Asset capitalized after Asset Capitalization {0} was submitted" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:281 +#: erpnext/assets/doctype/asset/asset.py:280 msgid "Asset created" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1403 +#: erpnext/assets/doctype/asset/asset.py:1418 msgid "Asset created after being split from Asset {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:284 +#: erpnext/assets/doctype/asset/asset.py:283 msgid "Asset deleted" msgstr "" @@ -5648,11 +5572,11 @@ msgstr "" msgid "Asset restored" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:620 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:619 msgid "Asset restored after Asset Capitalization {0} was cancelled" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1445 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1521 msgid "Asset returned" msgstr "" @@ -5664,12 +5588,12 @@ msgstr "" msgid "Asset scrapped via Journal Entry {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1445 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1448 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1521 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1524 msgid "Asset sold" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:259 +#: erpnext/assets/doctype/asset/asset.py:258 msgid "Asset submitted" msgstr "" @@ -5677,7 +5601,7 @@ msgstr "" msgid "Asset transferred to Location {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1412 +#: erpnext/assets/doctype/asset/asset.py:1427 msgid "Asset updated after being split into Asset {0}" msgstr "" @@ -5689,7 +5613,7 @@ msgstr "" msgid "Asset {0} cannot be scrapped, as it is already {1}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:213 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:212 msgid "Asset {0} does not belong to Item {1}" msgstr "" @@ -5705,12 +5629,12 @@ msgstr "" msgid "Asset {0} does not belong to the location {1}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:672 -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:765 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:671 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:764 msgid "Asset {0} does not exist" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:586 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:585 msgid "Asset {0} has been updated. Please set the depreciation details if any and submit it." msgstr "" @@ -5718,11 +5642,11 @@ msgstr "" msgid "Asset {0} is in {1} status and cannot be repaired." msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:96 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:95 msgid "Asset {0} is not set to calculate depreciation." msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:102 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:101 msgid "Asset {0} is not submitted. Please submit the asset before proceeding." msgstr "" @@ -5730,11 +5654,11 @@ msgstr "" msgid "Asset {0} must be submitted" msgstr "" -#: erpnext/controllers/buying_controller.py:1020 +#: erpnext/controllers/buying_controller.py:1013 msgid "Asset {assets_link} created for {item_code}" msgstr "" -#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:223 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:222 msgid "Asset's depreciation schedule updated after Asset Shift Allocation {0}" msgstr "" @@ -5760,11 +5684,11 @@ msgstr "" msgid "Assets" msgstr "" -#: erpnext/controllers/buying_controller.py:1038 +#: erpnext/controllers/buying_controller.py:1031 msgid "Assets not created for {item_code}. You will have to create asset manually." msgstr "" -#: erpnext/controllers/buying_controller.py:1025 +#: erpnext/controllers/buying_controller.py:1018 msgid "Assets {assets_link} created for {item_code}" msgstr "" @@ -5796,11 +5720,15 @@ msgstr "" 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:1351 +msgid "At Row {0}: In Serial and Batch Bundle {1} must have docstatus as 1 and not 0" +msgstr "" + #: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:84 msgid "At least one account with exchange gain or loss is required" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1269 +#: erpnext/assets/doctype/asset/asset.py:1283 msgid "At least one asset has to be selected." msgstr "" @@ -5813,7 +5741,7 @@ msgid "At least one item should be entered with negative quantity in return docu msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:530 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:548 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:545 msgid "At least one mode of payment is required for POS invoice." msgstr "" @@ -5829,7 +5757,7 @@ msgstr "" msgid "At least one row is required for a financial report template" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:773 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:784 msgid "At least one warehouse is mandatory" msgstr "" @@ -5845,19 +5773,19 @@ msgstr "" msgid "At row #{0}: you have selected the Difference Account {1}, which is a Cost of Goods Sold type account. Please select a different account" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1077 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1114 msgid "At row {0}: Batch No is mandatory for Item {1}" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:95 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:118 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:1062 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1099 msgid "At row {0}: Qty is mandatory for the batch {1}" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1069 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1106 msgid "At row {0}: Serial No is mandatory for Item {1}" msgstr "" @@ -5865,7 +5793,7 @@ msgstr "" 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 "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:89 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:112 msgid "At row {0}: set Parent Row No for item {1}" msgstr "" @@ -5925,19 +5853,19 @@ msgstr "" msgid "Attribute Value" msgstr "" -#: erpnext/stock/doctype/item/item.py:923 +#: erpnext/stock/doctype/item/item.py:942 msgid "Attribute table is mandatory" msgstr "" -#: erpnext/stock/doctype/item_attribute/item_attribute.py:108 +#: erpnext/stock/doctype/item_attribute/item_attribute.py:107 msgid "Attribute value: {0} must appear only once" msgstr "" -#: erpnext/stock/doctype/item/item.py:927 +#: erpnext/stock/doctype/item/item.py:946 msgid "Attribute {0} selected multiple times in Attributes Table" msgstr "" -#: erpnext/stock/doctype/item/item.py:855 +#: erpnext/stock/doctype/item/item.py:874 msgid "Attributes" msgstr "" @@ -5961,7 +5889,7 @@ msgstr "" msgid "Auditor" msgstr "" -#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py:68 +#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py:67 msgid "Authentication Failed" msgstr "" @@ -6081,7 +6009,7 @@ msgstr "" msgid "Auto Reconcile Payments" msgstr "" -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:443 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:447 msgid "Auto Reconciliation" msgstr "" @@ -6091,12 +6019,12 @@ msgstr "" msgid "Auto Reconciliation Job Trigger" msgstr "" -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:391 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:395 msgid "Auto Reconciliation has started in the background" msgstr "" -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:147 -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:195 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:150 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:198 msgid "Auto Reconciliation of Payments has been disabled. Enable it through {0}" msgstr "" @@ -6229,7 +6157,7 @@ msgstr "" msgid "Available Batch Report" msgstr "" -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:494 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:493 msgid "Available For Use Date" msgstr "" @@ -6320,11 +6248,11 @@ msgstr "" msgid "Available Stock for Packing Items" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:377 +#: erpnext/assets/doctype/asset/asset.py:376 msgid "Available for use date is required" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:906 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:917 msgid "Available quantity is {0}, you need {1}" msgstr "" @@ -6337,7 +6265,7 @@ msgstr "" msgid "Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:483 +#: erpnext/assets/doctype/asset/asset.py:482 msgid "Available-for-use Date should be after purchase date" msgstr "" @@ -6356,6 +6284,11 @@ msgstr "" msgid "Average Discount" msgstr "" +#. Label of a number card in the Selling Workspace +#: erpnext/selling/workspace/selling/selling.json +msgid "Average Order Value" +msgstr "" + #. Label of a number card in the Buying Workspace #: erpnext/buying/workspace/buying/buying.json msgid "Average Order Values" @@ -6385,7 +6318,7 @@ msgid "Avg Rate" msgstr "" #: erpnext/stock/report/available_serial_no/available_serial_no.py:154 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:288 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:287 msgid "Avg Rate (Balance Stock)" msgstr "" @@ -6434,7 +6367,6 @@ msgstr "" #. Settings' #. Label of the bom (Link) field in DocType 'Work Order Operation' #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #. Label of the bom (Link) field in DocType 'Purchase Receipt Item' #. Label of the bom (Link) field in DocType 'Subcontracting Inward Order Item' #. Label of the bom (Link) field in DocType 'Subcontracting Order Item' @@ -6456,9 +6388,10 @@ msgstr "" #: erpnext/selling/doctype/sales_order/sales_order.js:1407 #: erpnext/stock/doctype/material_request/material_request.js:339 #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json -#: erpnext/stock/doctype/stock_entry/stock_entry.js:671 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:689 #: 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 #: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json msgid "BOM" @@ -6468,7 +6401,7 @@ msgstr "" msgid "BOM 1" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1682 +#: erpnext/manufacturing/doctype/bom/bom.py:1697 msgid "BOM 1 {0} and BOM 2 {1} should not be same" msgstr "" @@ -6489,10 +6422,8 @@ msgstr "" #. Label of the bom_creator (Link) field in DocType 'BOM' #. Name of a DocType -#. Label of a shortcut in the Manufacturing Workspace #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json -#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json msgid "BOM Creator" msgstr "" @@ -6572,7 +6503,7 @@ msgstr "" #: erpnext/manufacturing/doctype/work_order/work_order.json #: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.js:8 #: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py:31 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1066 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1065 #: erpnext/selling/doctype/sales_order_item/sales_order_item.json #: erpnext/stock/doctype/material_request_item/material_request_item.json #: erpnext/stock/doctype/quality_inspection/quality_inspection.json @@ -6632,7 +6563,6 @@ msgstr "" #. Name of a report #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.html:1 #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.json #: erpnext/manufacturing/workspace/manufacturing/manufacturing.json @@ -6674,7 +6604,7 @@ msgstr "" msgid "BOM Update Tool Log with job status maintained" msgstr "" -#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:99 +#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:102 msgid "BOM Updation already in progress. Please wait until {0} is complete." msgstr "" @@ -6697,7 +6627,11 @@ msgstr "" msgid "BOM Website Operation" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:1306 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2215 +msgid "BOM and Finished Good Quantity is mandatory for Disassembly" +msgstr "" + +#: erpnext/stock/doctype/stock_entry/stock_entry.js:1327 msgid "BOM and Manufacturing Quantity are required" msgstr "" @@ -6708,7 +6642,7 @@ msgid "BOM and Production" msgstr "" #: erpnext/stock/doctype/material_request/material_request.js:374 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:723 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:741 msgid "BOM does not contain any stock item" msgstr "" @@ -6720,15 +6654,15 @@ msgstr "" msgid "BOM recursion: {1} cannot be parent or child of {0}" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1424 +#: erpnext/manufacturing/doctype/bom/bom.py:1435 msgid "BOM {0} does not belong to Item {1}" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1406 +#: erpnext/manufacturing/doctype/bom/bom.py:1417 msgid "BOM {0} must be active" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1409 +#: erpnext/manufacturing/doctype/bom/bom.py:1420 msgid "BOM {0} must be submitted" msgstr "" @@ -6741,19 +6675,19 @@ msgstr "" msgid "BOMs Updated" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:274 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:297 msgid "BOMs created successfully" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:284 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:307 msgid "BOMs creation failed" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:224 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:247 msgid "BOMs creation has been enqueued, kindly check the status after some time" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:344 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:343 msgid "Backdated Stock Entry" msgstr "" @@ -6793,8 +6727,8 @@ msgstr "" #: erpnext/accounts/report/account_balance/account_balance.py:36 #: erpnext/accounts/report/general_ledger/general_ledger.html:94 -#: erpnext/accounts/report/purchase_register/purchase_register.py:242 -#: erpnext/accounts/report/sales_register/sales_register.py:278 +#: erpnext/accounts/report/purchase_register/purchase_register.py:241 +#: erpnext/accounts/report/sales_register/sales_register.py:277 #: erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py:71 msgid "Balance" msgstr "" @@ -6819,11 +6753,11 @@ msgstr "" msgid "Balance In Base Currency" msgstr "" -#: erpnext/stock/report/available_batch_report/available_batch_report.py:63 +#: erpnext/stock/report/available_batch_report/available_batch_report.py:62 #: 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:443 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:251 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:250 msgid "Balance Qty" msgstr "" @@ -6848,7 +6782,7 @@ 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:267 +#: erpnext/public/js/financial_statements.js:306 #: erpnext/setup/doctype/email_digest/email_digest.json msgid "Balance Sheet" msgstr "" @@ -6886,11 +6820,11 @@ 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:450 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:308 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:307 msgid "Balance Value" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:346 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:344 msgid "Balance for Account {0} must always be {1}" msgstr "" @@ -7001,7 +6935,7 @@ msgstr "" msgid "Bank Account Type" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:376 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:379 msgid "Bank Account {} in Bank Transaction {} is not matching with Bank Account {}" msgstr "" @@ -7142,23 +7076,23 @@ msgstr "" msgid "Bank Transaction Payments" msgstr "" -#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:493 +#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:508 msgid "Bank Transaction {0} Matched" msgstr "" -#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:541 +#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:557 msgid "Bank Transaction {0} added as Journal Entry" msgstr "" -#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:516 +#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:532 msgid "Bank Transaction {0} added as Payment Entry" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:147 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:150 msgid "Bank Transaction {0} is already fully reconciled" msgstr "" -#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:561 +#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:577 msgid "Bank Transaction {0} updated" msgstr "" @@ -7184,11 +7118,12 @@ msgstr "" msgid "Bank/Cash Account" msgstr "" -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:57 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:60 msgid "Bank/Cash Account {0} doesn't belong to company {1}" msgstr "" -#. Label of the banking_tab (Tab Break) field in DocType 'Accounts Settings' +#. Label of the banking_section (Section Break) field in DocType 'Accounts +#. Settings' #. Label of a Card Break in the Accounting Workspace #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json #: erpnext/accounts/workspace/accounting/accounting.json @@ -7201,11 +7136,11 @@ msgstr "" msgid "Barcode Type" msgstr "" -#: erpnext/stock/doctype/item/item.py:475 +#: erpnext/stock/doctype/item/item.py:494 msgid "Barcode {0} already used in Item {1}" msgstr "" -#: erpnext/stock/doctype/item/item.py:490 +#: erpnext/stock/doctype/item/item.py:509 msgid "Barcode {0} is not a valid {1} code" msgstr "" @@ -7262,19 +7197,19 @@ msgstr "" msgid "Base Rate" msgstr "" -#. Label of the base_tax_withholding_net_total (Currency) field in DocType -#. 'Purchase Invoice' -#. Label of the base_tax_withholding_net_total (Currency) field in DocType -#. 'Purchase Order' -#. Label of the base_tax_withholding_net_total (Currency) field in DocType -#. 'Purchase Receipt' -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json -#: erpnext/buying/doctype/purchase_order/purchase_order.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json -msgid "Base Tax Withholding Net Total" +#. Label of the withholding_amount (Currency) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Base Tax Withheld" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:261 +#. Label of the taxable_amount (Currency) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Base Taxable Amount" +msgstr "" + +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:163 msgid "Base Total" msgstr "" @@ -7364,7 +7299,7 @@ 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:330 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:329 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:171 #: 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 @@ -7384,7 +7319,7 @@ msgid "Batch Details" msgstr "" #: erpnext/stock/doctype/batch/batch.py:217 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:465 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:469 msgid "Batch Expiry Date" msgstr "" @@ -7436,7 +7371,7 @@ 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:2821 +#: erpnext/public/js/controllers/transaction.js:2841 #: erpnext/public/js/utils/barcode_scanner.js:281 #: erpnext/public/js/utils/serial_no_batch_selector.js:438 #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json @@ -7453,31 +7388,31 @@ msgstr "" #: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json #: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json #: erpnext/stock/report/available_batch_report/available_batch_report.js:64 -#: erpnext/stock/report/available_batch_report/available_batch_report.py:51 +#: erpnext/stock/report/available_batch_report/available_batch_report.py:50 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.js:68 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:81 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:160 #: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.js:19 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:458 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:462 #: erpnext/stock/report/stock_ledger/stock_ledger.js:77 #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json msgid "Batch No" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1080 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1117 msgid "Batch No is mandatory" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3031 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3141 msgid "Batch No {0} does not exists" msgstr "" -#: erpnext/stock/utils.py:646 +#: erpnext/stock/utils.py:618 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:406 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:435 msgid "Batch No {0} is not present in the original {1} {2}, hence you can't return it against the {1} {2}" msgstr "" @@ -7492,11 +7427,11 @@ msgstr "" msgid "Batch Nos" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1687 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1735 msgid "Batch Nos are created successfully" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1072 +#: erpnext/controllers/sales_and_purchase_return.py:1142 msgid "Batch Not Available for Return" msgstr "" @@ -7510,7 +7445,7 @@ msgstr "" msgid "Batch Qty" msgstr "" -#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:120 +#: erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py:125 msgid "Batch Qty updated successfully" msgstr "" @@ -7546,7 +7481,7 @@ msgstr "" msgid "Batch and Serial No" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:880 +#: erpnext/manufacturing/doctype/work_order/work_order.py:884 msgid "Batch not created for item {} since it does not have a batch series." msgstr "" @@ -7554,16 +7489,16 @@ msgstr "" msgid "Batch {0} and Warehouse" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1071 +#: erpnext/controllers/sales_and_purchase_return.py:1141 msgid "Batch {0} is not available in warehouse {1}" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3169 -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:290 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3224 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:289 msgid "Batch {0} of Item {1} has expired." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3175 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3230 msgid "Batch {0} of Item {1} is disabled." msgstr "" @@ -7597,15 +7532,15 @@ msgstr "" msgid "Beginning of the current subscription period" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:320 +#: erpnext/accounts/doctype/subscription/subscription.py:323 msgid "Below Subscription Plans are of different currency to the party default billing currency/Company currency: {0}" 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/purchase_register/purchase_register.py:214 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1211 +#: erpnext/accounts/report/purchase_register/purchase_register.py:213 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json msgid "Bill Date" msgstr "" @@ -7613,8 +7548,8 @@ 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/purchase_register/purchase_register.py:213 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1210 +#: erpnext/accounts/report/purchase_register/purchase_register.py:212 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json msgid "Bill No" msgstr "" @@ -7627,17 +7562,17 @@ msgstr "" #. Label of a Card Break in the Manufacturing Workspace #. Label of a Link in the Manufacturing Workspace -#: erpnext/manufacturing/doctype/bom/bom.py:1263 +#: erpnext/manufacturing/doctype/bom/bom.py:1267 #: erpnext/manufacturing/workspace/manufacturing/manufacturing.json #: erpnext/stock/doctype/material_request/material_request.js:127 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:657 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:675 msgid "Bill of Materials" msgstr "" #. Option for the 'Status' (Select) field in DocType 'Timesheet' #: erpnext/controllers/website_list_for_contact.py:203 #: erpnext/projects/doctype/timesheet/timesheet.json -#: erpnext/projects/doctype/timesheet/timesheet_list.js:5 +#: erpnext/projects/doctype/timesheet/timesheet_list.js:9 msgid "Billed" msgstr "" @@ -7730,7 +7665,7 @@ msgstr "" msgid "Billing Address Name" msgstr "" -#: erpnext/controllers/accounts_controller.py:573 +#: erpnext/controllers/accounts_controller.py:571 msgid "Billing Address does not belong to the {0}" msgstr "" @@ -7807,7 +7742,7 @@ msgstr "" msgid "Billing Interval Count cannot be less than 1" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:363 +#: erpnext/accounts/doctype/subscription/subscription.py:366 msgid "Billing Interval in Subscription Plan must be Month to follow calendar months" msgstr "" @@ -7836,7 +7771,7 @@ msgstr "" msgid "Billing Zipcode" msgstr "" -#: erpnext/accounts/party.py:610 +#: erpnext/accounts/party.py:607 msgid "Billing currency must be equal to either default company's currency or party account currency" msgstr "" @@ -7956,7 +7891,7 @@ msgid "Blanket Order Rate" msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:109 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:261 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:260 msgid "Block Invoice" msgstr "" @@ -8007,7 +7942,7 @@ msgstr "" msgid "Bold text for emphasis (totals, major headings)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:282 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:285 msgid "Book Advance Payments as Liability option is chosen. Paid From account changed from {0} to {1}." msgstr "" @@ -8067,7 +8002,7 @@ msgstr "" msgid "Booking stock value across multiple accounts will make it harder to track stock and account value." msgstr "" -#: erpnext/accounts/general_ledger.py:811 +#: erpnext/accounts/general_ledger.py:827 msgid "Books have been closed till the period ending on {0}" msgstr "" @@ -8085,7 +8020,7 @@ 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:339 +#: erpnext/accounts/doctype/subscription/subscription.py:342 msgid "Both Trial Period Start Date and Trial Period End Date must be set" msgstr "" @@ -8151,7 +8086,7 @@ msgstr "" msgid "Brokerage" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:165 +#: erpnext/manufacturing/doctype/bom/bom.js:193 msgid "Browse BOM" msgstr "" @@ -8189,7 +8124,7 @@ msgstr "" msgid "Bucket Size" msgstr "" -#. Label of the budget_settings (Tab Break) field in DocType 'Accounts +#. Label of the budget_section (Section Break) field in DocType 'Accounts #. Settings' #. Name of a DocType #. Label of a Link in the Accounting Workspace @@ -8199,9 +8134,11 @@ msgstr "" #: erpnext/accounts/doctype/cost_center/cost_center_tree.js:65 #: erpnext/accounts/doctype/cost_center/cost_center_tree.js:73 #: erpnext/accounts/doctype/cost_center/cost_center_tree.js:81 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:99 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:109 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:380 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:236 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:240 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:322 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:332 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:446 #: erpnext/accounts/workspace/accounting/accounting.json msgid "Budget" msgstr "" @@ -8224,7 +8161,7 @@ msgstr "" msgid "Budget Amount" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:84 +#: erpnext/accounts/doctype/budget/budget.py:82 msgid "Budget Amount can not be {0}." msgstr "" @@ -8250,14 +8187,14 @@ msgstr "" msgid "Budget End Date" msgstr "" +#: erpnext/accounts/doctype/budget/budget.py:568 #: erpnext/accounts/doctype/budget/budget.py:570 -#: erpnext/accounts/doctype/budget/budget.py:572 #: erpnext/controllers/budget_controller.py:289 #: erpnext/controllers/budget_controller.py:292 msgid "Budget Exceeded" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:229 +#: erpnext/accounts/doctype/budget/budget.py:227 msgid "Budget Limit Exceeded" msgstr "" @@ -8278,15 +8215,15 @@ msgstr "" msgid "Budget Variance Report" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:157 +#: erpnext/accounts/doctype/budget/budget.py:155 msgid "Budget cannot be assigned against Group Account {0}" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:162 +#: erpnext/accounts/doctype/budget/budget.py:160 msgid "Budget cannot be assigned against {0}, as it's not an Income or Expense account" msgstr "" -#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:8 +#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:9 msgid "Budgets" msgstr "" @@ -8339,7 +8276,7 @@ msgstr "" msgid "Bundle Items" msgstr "" -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:95 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:94 msgid "Bundle Qty" msgstr "" @@ -8418,10 +8355,10 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Buying Workspace -#. Label of a shortcut in the Settings Workspace +#. Label of a shortcut in the ERPNext Settings Workspace #: erpnext/buying/doctype/buying_settings/buying_settings.json #: erpnext/buying/workspace/buying/buying.json -#: erpnext/setup/workspace/settings/settings.json +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json msgid "Buying Settings" msgstr "" @@ -8480,9 +8417,7 @@ msgid "CRM Note" msgstr "" #. Name of a DocType -#. Label of a Link in the CRM Workspace #: erpnext/crm/doctype/crm_settings/crm_settings.json -#: erpnext/crm/workspace/crm/crm.json msgid "CRM Settings" msgstr "" @@ -8733,7 +8668,7 @@ msgstr "" msgid "Can be approved by {0}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2454 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2458 msgid "Can not close Work Order. Since {0} Job Cards are in Work In Progress state." msgstr "" @@ -8761,18 +8696,18 @@ msgstr "" msgid "Can not filter based on Voucher No, if grouped by Voucher" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1580 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2941 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1378 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2862 msgid "Can only make payment against unbilled {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1493 -#: erpnext/controllers/accounts_controller.py:3172 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1504 +#: erpnext/controllers/accounts_controller.py:3176 #: erpnext/public/js/controllers/accounts.js:103 msgid "Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total'" msgstr "" -#: erpnext/setup/doctype/company/company.py:198 +#: erpnext/setup/doctype/company/company.py:205 #: erpnext/stock/doctype/stock_settings/stock_settings.py:144 msgid "Can't change the valuation method, as there are transactions against some items which do not have its own valuation method" msgstr "" @@ -8805,35 +8740,26 @@ msgstr "" msgid "Cancelation Date" msgstr "" -#. Option for the 'Status' (Select) field in DocType 'Stock Closing Entry' -#. Option for the 'Status' (Select) field in DocType 'Call Log' -#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting_list.js:13 -#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.json -#: erpnext/stock/doctype/stock_entry/stock_entry_list.js:25 -#: erpnext/telephony/doctype/call_log/call_log.json -msgid "Canceled" -msgstr "" - #: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:76 msgid "Cannot Assign Cashier" msgstr "" #: erpnext/stock/doctype/delivery_trip/delivery_trip.js:90 -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:215 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:219 msgid "Cannot Calculate Arrival Time as Driver Address is Missing." msgstr "" -#: erpnext/setup/doctype/company/company.py:217 +#: erpnext/setup/doctype/company/company.py:224 msgid "Cannot Change Inventory Account Setting" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:376 +#: erpnext/controllers/sales_and_purchase_return.py:438 msgid "Cannot Create Return" msgstr "" -#: erpnext/stock/doctype/item/item.py:630 -#: erpnext/stock/doctype/item/item.py:643 -#: erpnext/stock/doctype/item/item.py:657 +#: erpnext/stock/doctype/item/item.py:649 +#: erpnext/stock/doctype/item/item.py:662 +#: erpnext/stock/doctype/item/item.py:676 msgid "Cannot Merge" msgstr "" @@ -8841,11 +8767,11 @@ msgstr "" msgid "Cannot Optimize Route as Driver Address is Missing." msgstr "" -#: erpnext/setup/doctype/employee/employee.py:182 +#: erpnext/setup/doctype/employee/employee.py:181 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:71 msgid "Cannot Resubmit Ledger entries for vouchers in Closed fiscal year." msgstr "" @@ -8853,15 +8779,15 @@ msgstr "" msgid "Cannot amend {0} {1}, please create a new one instead." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1327 +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py:1293 msgid "Cannot apply TDS against multiple parties in one entry" msgstr "" -#: erpnext/stock/doctype/item/item.py:310 +#: erpnext/stock/doctype/item/item.py:329 msgid "Cannot be a fixed asset item as Stock Ledger is created." msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:118 +#: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py:117 msgid "Cannot cancel Asset Depreciation Schedule {0} as it has a draft journal entry {1}." msgstr "" @@ -8873,15 +8799,15 @@ msgstr "" msgid "Cannot cancel Stock Reservation Entry {0}, as it has used in the work order {1}. Please cancel the work order first or unreserved the stock" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:246 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:252 msgid "Cannot cancel as processing of cancelled documents is pending." msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1065 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1069 msgid "Cannot cancel because submitted Stock Entry {0} exists" msgstr "" -#: erpnext/stock/stock_ledger.py:209 +#: erpnext/stock/stock_ledger.py:207 msgid "Cannot cancel the transaction. Reposting of item valuation on submission is not completed yet." msgstr "" @@ -8889,7 +8815,11 @@ 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/controllers/buying_controller.py:1129 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:569 +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:1122 msgid "Cannot cancel this document as it is linked with the submitted asset {asset_link}. Please cancel the asset to continue." msgstr "" @@ -8897,7 +8827,7 @@ msgstr "" msgid "Cannot cancel transaction for Completed Work Order." msgstr "" -#: erpnext/stock/doctype/item/item.py:875 +#: erpnext/stock/doctype/item/item.py:894 msgid "Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item" msgstr "" @@ -8909,15 +8839,15 @@ msgstr "" msgid "Cannot change Reference Document Type." msgstr "" -#: erpnext/accounts/deferred_revenue.py:53 +#: erpnext/accounts/deferred_revenue.py:52 msgid "Cannot change Service Stop Date for item in row {0}" msgstr "" -#: erpnext/stock/doctype/item/item.py:866 +#: erpnext/stock/doctype/item/item.py:885 msgid "Cannot change Variant properties after stock transaction. You will have to make a new Item to do this." msgstr "" -#: erpnext/setup/doctype/company/company.py:322 +#: erpnext/setup/doctype/company/company.py:329 msgid "Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency." msgstr "" @@ -8941,11 +8871,11 @@ msgstr "" msgid "Cannot covert to Group because Account Type is selected." msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1013 +#: 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:1849 +#: erpnext/selling/doctype/sales_order/sales_order.py:1877 #: erpnext/stock/doctype/pick_list/pick_list.py:219 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 "" @@ -8954,11 +8884,11 @@ msgstr "" msgid "Cannot create accounting entries against disabled accounts: {0}" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:375 +#: erpnext/controllers/sales_and_purchase_return.py:437 msgid "Cannot create return for consolidated invoice {0}." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1120 +#: erpnext/manufacturing/doctype/bom/bom.py:1124 msgid "Cannot deactivate or cancel BOM as it is linked with other BOMs" msgstr "" @@ -8971,7 +8901,7 @@ msgstr "" msgid "Cannot deduct when category is for 'Valuation' or 'Valuation and Total'" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1808 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1819 msgid "Cannot delete Exchange Gain/Loss row" msgstr "" @@ -8979,23 +8909,23 @@ msgstr "" msgid "Cannot delete Serial No {0}, as it is used in stock transactions" msgstr "" -#: erpnext/controllers/accounts_controller.py:3768 +#: erpnext/controllers/accounts_controller.py:3772 msgid "Cannot delete an item which has been ordered" msgstr "" -#: erpnext/setup/doctype/company/company.py:552 +#: erpnext/setup/doctype/company/company.py:559 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/manufacturing/doctype/work_order/work_order.py:677 +#: erpnext/manufacturing/doctype/work_order/work_order.py:681 msgid "Cannot disassemble more than produced quantity." msgstr "" -#: erpnext/setup/doctype/company/company.py:214 +#: erpnext/setup/doctype/company/company.py:221 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/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:110 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:113 msgid "Cannot enqueue multi docs for one company. {0} is already queued/running for company: {1}" msgstr "" @@ -9012,36 +8942,40 @@ msgstr "" msgid "Cannot find Item with this Barcode" msgstr "" -#: erpnext/controllers/accounts_controller.py:3720 +#: erpnext/controllers/accounts_controller.py:3724 msgid "Cannot find a default warehouse for item {0}. Please set one in the Item Master or in Stock Settings." msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:516 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:519 msgid "Cannot make any transactions until the deletion job is completed" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:530 +#: erpnext/accounts/party.py:1073 +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:533 msgid "Cannot produce more Item {0} than Sales Order quantity {1}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1420 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1424 msgid "Cannot produce more item for {0}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1424 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1428 msgid "Cannot produce more than {0} items for {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:353 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:358 msgid "Cannot receive from customer against negative outstanding" msgstr "" -#: erpnext/controllers/accounts_controller.py:3900 +#: erpnext/controllers/accounts_controller.py:3904 msgid "Cannot reduce quantity than ordered or purchased quantity" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1506 -#: erpnext/controllers/accounts_controller.py:3187 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1517 +#: erpnext/controllers/accounts_controller.py:3191 #: erpnext/public/js/controllers/accounts.js:120 msgid "Cannot refer row number greater than or equal to current row number for this Charge type" msgstr "" @@ -9054,10 +8988,10 @@ msgstr "" msgid "Cannot retrieve link token. Check Error Log for more information" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1499 -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1677 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1889 -#: erpnext/controllers/accounts_controller.py:3177 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1510 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1688 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1810 +#: erpnext/controllers/accounts_controller.py:3181 #: erpnext/public/js/controllers/accounts.js:112 #: erpnext/public/js/controllers/taxes_and_totals.js:524 msgid "Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row" @@ -9071,15 +9005,15 @@ msgstr "" msgid "Cannot set authorization on basis of Discount for {0}" msgstr "" -#: erpnext/stock/doctype/item/item.py:721 +#: erpnext/stock/doctype/item/item.py:740 msgid "Cannot set multiple Item Defaults for a company." msgstr "" -#: erpnext/controllers/accounts_controller.py:3882 +#: erpnext/controllers/accounts_controller.py:3886 msgid "Cannot set quantity less than delivered quantity" msgstr "" -#: erpnext/controllers/accounts_controller.py:3885 +#: erpnext/controllers/accounts_controller.py:3889 msgid "Cannot set quantity less than received quantity" msgstr "" @@ -9087,7 +9021,7 @@ msgstr "" msgid "Cannot set the field {0} for copying in variants" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1999 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1920 msgid "Cannot {0} from {1} without any negative outstanding invoice" msgstr "" @@ -9100,7 +9034,7 @@ msgstr "" #. Label of the capacity_per_day (Int) field in DocType 'Item Lead Time' #. Label of the capacity (Float) field in DocType 'Putaway Rule' -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:947 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:946 #: erpnext/stock/doctype/item_lead_time/item_lead_time.json #: erpnext/stock/doctype/putaway_rule/putaway_rule.json msgid "Capacity" @@ -9122,7 +9056,7 @@ msgstr "" msgid "Capacity Planning" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1051 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1055 msgid "Capacity Planning Error, planned start time can not be same as end time" msgstr "" @@ -9247,7 +9181,7 @@ msgstr "" msgid "Cash Flow" msgstr "" -#: erpnext/public/js/financial_statements.js:277 +#: erpnext/public/js/financial_statements.js:316 msgid "Cash Flow Statement" msgstr "" @@ -9362,12 +9296,12 @@ msgstr "" msgid "Category-wise Asset Value" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:335 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:115 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:293 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:130 msgid "Caution" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:181 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:187 msgid "Caution: This might alter frozen accounts." msgstr "" @@ -9467,7 +9401,7 @@ msgstr "" msgid "Change in Stock Value" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1002 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1028 msgid "Change the account type to Receivable or select a different account." msgstr "" @@ -9477,7 +9411,7 @@ msgstr "" msgid "Change this date manually to setup the next synchronization start date" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:127 +#: erpnext/selling/doctype/customer/customer.py:132 msgid "Changed customer name to '{}' as '{}' already exists." msgstr "" @@ -9485,7 +9419,7 @@ msgstr "" msgid "Changes in {0}" msgstr "" -#: erpnext/stock/doctype/item/item.js:330 +#: erpnext/stock/doctype/item/item.js:337 msgid "Changing Customer Group for the selected Customer is not allowed." msgstr "" @@ -9499,8 +9433,8 @@ msgstr "" msgid "Channel Partner" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2318 -#: erpnext/controllers/accounts_controller.py:3240 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2239 +#: erpnext/controllers/accounts_controller.py:3244 msgid "Charge of type 'Actual' in row {0} cannot be included in Item Rate or Paid Amount" msgstr "" @@ -9523,7 +9457,8 @@ msgstr "" msgid "Charges will be distributed proportionately based on item qty or amount, as per your selection" msgstr "" -#. Label of the tab_break_dpet (Tab Break) field in DocType 'Accounts Settings' +#. Label of the chart_of_accounts_section (Section Break) field in DocType +#. 'Accounts Settings' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json msgid "Chart Of Accounts" msgstr "" @@ -9568,7 +9503,7 @@ msgid "Chart of Accounts Importer" msgstr "" #. Label of a Link in the Accounting Workspace -#: erpnext/accounts/doctype/account/account_tree.js:195 +#: erpnext/accounts/doctype/account/account_tree.js:196 #: erpnext/accounts/doctype/cost_center/cost_center.js:41 #: erpnext/accounts/workspace/accounting/accounting.json msgid "Chart of Cost Centers" @@ -9672,7 +9607,7 @@ 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:2731 +#: erpnext/public/js/controllers/transaction.js:2752 msgid "Cheque/Reference Date" msgstr "" @@ -9720,7 +9655,7 @@ msgstr "" #. Label of the child_row_reference (Data) field in DocType 'Quality #. Inspection' -#: erpnext/public/js/controllers/transaction.js:2827 +#: erpnext/public/js/controllers/transaction.js:2847 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json msgid "Child Row Reference" msgstr "" @@ -9803,10 +9738,15 @@ msgstr "" msgid "Clearance Date not mentioned" msgstr "" -#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:149 +#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:177 msgid "Clearance Date updated" msgstr "" +#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:156 +#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:171 +msgid "Clearance date changed from {0} to {1} via Bank Clearance Tool" +msgstr "" + #: erpnext/public/js/utils/demo.js:24 msgid "Clearing Demo Data..." msgstr "" @@ -9873,7 +9813,7 @@ msgstr "" msgid "Closed Documents" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2377 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2381 msgid "Closed Work Order can not be stopped or Re-opened" msgstr "" @@ -9908,7 +9848,7 @@ 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:123 msgid "Closing Account {0} must be of type Liability / Equity" msgstr "" @@ -10181,6 +10121,7 @@ msgstr "" #. Label of the company (Link) field in DocType 'Subscription' #. Label of the company (Link) field in DocType 'Tax Rule' #. Label of the company (Link) field in DocType 'Tax Withholding Account' +#. Label of the company (Link) field in DocType 'Tax Withholding Entry' #. Label of the company (Link) field in DocType 'Unreconcile Payment' #. Label of a Link in the Accounting Workspace #. Option for the 'Asset Owner' (Select) field in DocType 'Asset' @@ -10292,7 +10233,7 @@ msgstr "" #: erpnext/accounts/doctype/gl_entry/gl_entry.json #: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json #: erpnext/accounts/doctype/item_tax_template/item_tax_template.json -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:141 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:157 #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json #: erpnext/accounts/doctype/ledger_health_monitor_company/ledger_health_monitor_company.json @@ -10331,6 +10272,7 @@ msgstr "" #: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/doctype/tax_rule/tax_rule.json #: erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.json +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.json #: erpnext/accounts/report/account_balance/account_balance.js:8 #: erpnext/accounts/report/accounts_payable/accounts_payable.js:8 @@ -10390,8 +10332,8 @@ msgstr "" #: erpnext/assets/doctype/asset_repair/asset_repair.json #: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json #: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:8 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:467 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:550 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:466 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:549 #: erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json @@ -10444,7 +10386,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:289 +#: erpnext/public/js/financial_statements.js:328 #: 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 @@ -10530,7 +10472,7 @@ msgstr "" #: erpnext/stock/report/item_shortage_report/item_shortage_report.py:137 #: erpnext/stock/report/landed_cost_report/landed_cost_report.js:8 #: erpnext/stock/report/product_bundle_balance/product_bundle_balance.js:8 -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:115 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:114 #: erpnext/stock/report/reserved_stock/reserved_stock.js:8 #: erpnext/stock/report/reserved_stock/reserved_stock.py:191 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:9 @@ -10542,7 +10484,7 @@ msgstr "" #: erpnext/stock/report/stock_balance/stock_balance.js:8 #: erpnext/stock/report/stock_balance/stock_balance.py:504 #: erpnext/stock/report/stock_ledger/stock_ledger.js:8 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:358 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:357 #: 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 @@ -10621,7 +10563,7 @@ msgstr "" msgid "Company Address Name" msgstr "" -#: erpnext/controllers/accounts_controller.py:4311 +#: erpnext/controllers/accounts_controller.py:4319 msgid "Company Address is missing. You don't have permission to update it. Please contact your System Manager." msgstr "" @@ -10711,12 +10653,12 @@ msgstr "" msgid "Company and Posting Date is mandatory" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2501 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2577 msgid "Company currencies of both the companies should match for Inter Company Transactions." msgstr "" #: erpnext/stock/doctype/material_request/material_request.js:368 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:717 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:735 msgid "Company field is required" msgstr "" @@ -10728,7 +10670,7 @@ msgstr "" msgid "Company is mandatory for company account" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:392 +#: erpnext/accounts/doctype/subscription/subscription.py:395 msgid "Company is mandatory for generating an invoice. Please set a default company in Global Defaults." msgstr "" @@ -10736,7 +10678,7 @@ msgstr "" msgid "Company name not same" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:325 +#: erpnext/assets/doctype/asset/asset.py:324 msgid "Company of asset {0} and purchase document {1} doesn't matches." msgstr "" @@ -10763,12 +10705,12 @@ msgstr "" msgid "Company which internal supplier represents" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:62 +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:74 msgid "Company {0} added multiple times" msgstr "" #: erpnext/accounts/doctype/account/account.py:509 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1289 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1288 msgid "Company {0} does not exist" msgstr "" @@ -10853,7 +10795,7 @@ msgstr "" msgid "Completed Qty" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1334 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1338 msgid "Completed Qty cannot be greater than 'Qty to Manufacture'" msgstr "" @@ -10978,12 +10920,6 @@ msgstr "" msgid "Consider Accounting Dimensions" msgstr "" -#. Label of the consider_party_ledger_amount (Check) field in DocType 'Tax -#. Withholding Category' -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json -msgid "Consider Entire Party Ledger Amount" -msgstr "" - #. Label of the consider_minimum_order_qty (Check) field in DocType 'Production #. Plan' #: erpnext/manufacturing/doctype/production_plan/production_plan.json @@ -11017,6 +10953,24 @@ msgstr "" msgid "Consider Tax or Charge for" msgstr "" +#. Label of the apply_tds (Check) field in DocType 'Payment Entry' +#. Label of the apply_tds (Check) field in DocType 'Purchase Invoice' +#. Label of the apply_tds (Check) field in DocType 'Purchase Invoice Item' +#. Label of the apply_tds (Check) field in DocType 'Sales Invoice' +#. Label of the apply_tds (Check) field in DocType 'Sales Invoice Item' +#: erpnext/accounts/doctype/payment_entry/payment_entry.json +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json +msgid "Consider for Tax Withholding" +msgstr "" + +#. Label of the apply_tds (Check) field in DocType 'Journal Entry' +#: erpnext/accounts/doctype/journal_entry/journal_entry.json +msgid "Consider for Tax Withholding " +msgstr "" + #. Label of the included_in_paid_amount (Check) field in DocType 'Advance Taxes #. and Charges' #. Label of the included_in_paid_amount (Check) field in DocType 'Purchase @@ -11062,7 +11016,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:561 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:558 msgid "Consolidated Sales Invoice" msgstr "" @@ -11158,7 +11112,7 @@ msgstr "" msgid "Consumed Qty" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1712 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1716 msgid "Consumed Qty cannot be greater than Reserved Qty for item {0}" msgstr "" @@ -11177,7 +11131,7 @@ msgstr "" msgid "Consumed Stock Items" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:303 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:302 msgid "Consumed Stock Items, Consumed Asset Items or Consumed Service Items is mandatory for Capitalization" msgstr "" @@ -11187,7 +11141,7 @@ msgstr "" msgid "Consumed Stock Total Value" msgstr "" -#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.py:118 +#: erpnext/stock/doctype/stock_entry_type/stock_entry_type.py:116 msgid "Consumed quantity of item {0} exceeds transferred quantity." msgstr "" @@ -11315,7 +11269,7 @@ msgstr "" msgid "Contact Person" msgstr "" -#: erpnext/controllers/accounts_controller.py:585 +#: erpnext/controllers/accounts_controller.py:583 msgid "Contact Person does not belong to the {0}" msgstr "" @@ -11337,9 +11291,7 @@ msgid "Contra Entry" msgstr "" #. Name of a DocType -#. Label of a Link in the CRM Workspace #: erpnext/crm/doctype/contract/contract.json -#: erpnext/crm/workspace/crm/crm.json msgid "Contract" msgstr "" @@ -11468,7 +11420,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json #: erpnext/manufacturing/doctype/bom_item/bom_item.json #: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json -#: erpnext/public/js/utils.js:798 +#: erpnext/public/js/utils.js:806 #: 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 @@ -11494,7 +11446,7 @@ msgstr "" msgid "Conversion Rate" msgstr "" -#: erpnext/stock/doctype/item/item.py:393 +#: erpnext/stock/doctype/item/item.py:412 msgid "Conversion factor for default Unit of Measure must be 1 in row {0}" msgstr "" @@ -11502,15 +11454,15 @@ msgstr "" 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:2955 +#: erpnext/controllers/accounts_controller.py:2959 msgid "Conversion rate cannot be 0" msgstr "" -#: erpnext/controllers/accounts_controller.py:2962 +#: erpnext/controllers/accounts_controller.py:2966 msgid "Conversion rate is 1.00, but document currency is different from company currency" msgstr "" -#: erpnext/controllers/accounts_controller.py:2958 +#: erpnext/controllers/accounts_controller.py:2962 msgid "Conversion rate must be 1.00 if document currency is same as company currency" msgstr "" @@ -11651,7 +11603,6 @@ msgstr "" #. Label of the cost_center (Link) field in DocType 'Shipping Rule' #. Label of the cost_center (Link) field in DocType 'Subscription' #. Label of the cost_center (Link) field in DocType 'Subscription Plan' -#. Label of a shortcut in the Receivables Workspace #. Label of the cost_center (Link) field in DocType 'Asset' #. Label of the cost_center (Link) field in DocType 'Asset Capitalization' #. Label of the cost_center (Link) field in DocType 'Asset Capitalization Asset @@ -11720,7 +11671,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:1193 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1197 #: 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 @@ -11733,10 +11684,9 @@ msgstr "" #: erpnext/accounts/report/purchase_register/purchase_register.js:46 #: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:29 #: erpnext/accounts/report/sales_register/sales_register.js:52 -#: erpnext/accounts/report/sales_register/sales_register.py:252 +#: erpnext/accounts/report/sales_register/sales_register.py:251 #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:79 #: erpnext/accounts/report/trial_balance/trial_balance.js:49 -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json #: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json @@ -11745,14 +11695,14 @@ msgstr "" #: erpnext/assets/doctype/asset_repair/asset_repair.json #: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json #: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:29 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:528 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:527 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: 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:382 +#: erpnext/public/js/financial_statements.js:421 #: 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 @@ -11813,8 +11763,8 @@ msgstr "" msgid "Cost Center is a part of Cost Center Allocation, hence cannot be converted to a group" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1430 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:898 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1432 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:896 msgid "Cost Center is required in row {0} in Taxes table for type {1}" msgstr "" @@ -11834,11 +11784,11 @@ msgstr "" msgid "Cost Center {0} cannot be used for allocation as it is used as main cost center in other allocation record." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:353 +#: erpnext/assets/doctype/asset/asset.py:352 msgid "Cost Center {} doesn't belong to Company {}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:360 +#: erpnext/assets/doctype/asset/asset.py:359 msgid "Cost Center {} is a group cost center and group cost centers cannot be used in transactions" msgstr "" @@ -11969,7 +11919,7 @@ msgstr "" msgid "Could not detect the Company for updating Bank Accounts" msgstr "" -#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:129 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:128 msgid "Could not find a suitable shift to match the difference: {0}" msgstr "" @@ -12041,7 +11991,7 @@ msgstr "" msgid "Coupon Type" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:85 +#: erpnext/accounts/doctype/account/account_tree.js:86 #: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:82 #: erpnext/templates/form_grid/bank_reconciliation_grid.html:16 msgid "Cr" @@ -12053,10 +12003,6 @@ msgstr "" msgid "Create Chart Of Accounts Based On" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.js:132 -msgid "Create Delivery Note" -msgstr "" - #: erpnext/stock/doctype/delivery_note/delivery_note_list.js:61 msgid "Create Delivery Trip" msgstr "" @@ -12082,7 +12028,7 @@ msgstr "" msgid "Create Grouped Asset" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:105 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:119 msgid "Create Inter Company Journal Entry" msgstr "" @@ -12116,14 +12062,13 @@ msgstr "" msgid "Create Leads" msgstr "" -#. Label of the post_change_gl_entries (Check) field in DocType 'Accounts -#. Settings' -#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json +#. Label of the post_change_gl_entries (Check) field in DocType 'POS Settings' +#: erpnext/accounts/doctype/pos_settings/pos_settings.json msgid "Create Ledger Entries for Change Amount" msgstr "" #: erpnext/buying/doctype/supplier/supplier.js:226 -#: erpnext/selling/doctype/customer/customer.js:285 +#: erpnext/selling/doctype/customer/customer.js:287 msgid "Create Link" msgstr "" @@ -12222,17 +12167,12 @@ msgstr "" msgid "Create Sales Orders to help you plan your work and deliver on-time" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:428 -msgid "Create Sample Retention Stock Entry" -msgstr "" - #: erpnext/stock/dashboard/item_dashboard.js:283 #: erpnext/stock/doctype/material_request/material_request.js:488 -#: erpnext/stock/doctype/pick_list/pick_list.js:138 msgid "Create Stock Entry" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:193 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:184 msgid "Create Supplier Quotation" msgstr "" @@ -12259,12 +12199,12 @@ msgstr "" msgid "Create Users" msgstr "" -#: erpnext/stock/doctype/item/item.js:872 +#: erpnext/stock/doctype/item/item.js:879 msgid "Create Variant" msgstr "" -#: erpnext/stock/doctype/item/item.js:686 -#: erpnext/stock/doctype/item/item.js:730 +#: erpnext/stock/doctype/item/item.js:693 +#: erpnext/stock/doctype/item/item.js:737 msgid "Create Variants" msgstr "" @@ -12272,12 +12212,12 @@ msgstr "" msgid "Create Workstation" msgstr "" -#: erpnext/stock/doctype/item/item.js:713 -#: erpnext/stock/doctype/item/item.js:865 +#: erpnext/stock/doctype/item/item.js:720 +#: erpnext/stock/doctype/item/item.js:872 msgid "Create a variant with the template image." msgstr "" -#: erpnext/stock/stock_ledger.py:2045 +#: erpnext/stock/stock_ledger.py:2012 msgid "Create an incoming stock transaction for the Item." msgstr "" @@ -12301,6 +12241,12 @@ msgstr "" msgid "Create {0} {1} ?" msgstr "" +#. Label of the created_by_migration (Check) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Created By Migration" +msgstr "" + #: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py:250 msgid "Created {0} scorecards for {1} between:" msgstr "" @@ -12337,8 +12283,8 @@ msgstr "" msgid "Creating Purchase Order ..." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:728 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:560 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:704 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:518 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:73 msgid "Creating Purchase Receipt ..." msgstr "" @@ -12347,8 +12293,8 @@ msgstr "" msgid "Creating Sales Invoices ..." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:136 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:485 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:111 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:598 msgid "Creating Stock Entry" msgstr "" @@ -12356,11 +12302,11 @@ msgstr "" msgid "Creating Subcontracting Inward Order ..." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:575 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:533 msgid "Creating Subcontracting Order ..." msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:583 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:698 msgid "Creating Subcontracting Receipt ..." msgstr "" @@ -12405,8 +12351,8 @@ msgstr "" #: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.py:146 #: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:451 #: erpnext/accounts/report/general_ledger/general_ledger.html:93 -#: erpnext/accounts/report/purchase_register/purchase_register.py:241 -#: erpnext/accounts/report/sales_register/sales_register.py:277 +#: erpnext/accounts/report/purchase_register/purchase_register.py:240 +#: erpnext/accounts/report/sales_register/sales_register.py:276 #: erpnext/accounts/report/trial_balance/trial_balance.py:522 #: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:212 #: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:34 @@ -12421,7 +12367,7 @@ msgstr "" msgid "Credit ({0})" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:606 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:627 msgid "Credit Account" msgstr "" @@ -12499,7 +12445,7 @@ msgstr "" msgid "Credit Limit" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:593 +#: erpnext/selling/doctype/customer/customer.py:602 msgid "Credit Limit Crossed" msgstr "" @@ -12546,8 +12492,8 @@ msgstr "" #: 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.html:147 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1216 -#: erpnext/controllers/sales_and_purchase_return.py:391 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1220 +#: erpnext/controllers/sales_and_purchase_return.py:453 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:303 #: erpnext/stock/doctype/delivery_note/delivery_note.js:89 #: erpnext/stock/doctype/stock_entry/stock_entry.json @@ -12563,7 +12509,7 @@ msgstr "" #. Option for the 'Status' (Select) 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:270 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:275 msgid "Credit Note Issued" msgstr "" @@ -12579,9 +12525,9 @@ 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:377 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:385 -#: erpnext/controllers/accounts_controller.py:2357 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:379 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:387 +#: erpnext/controllers/accounts_controller.py:2361 msgid "Credit To" msgstr "" @@ -12590,16 +12536,16 @@ msgstr "" msgid "Credit in Company Currency" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:559 -#: erpnext/selling/doctype/customer/customer.py:614 +#: erpnext/selling/doctype/customer/customer.py:568 +#: erpnext/selling/doctype/customer/customer.py:623 msgid "Credit limit has been crossed for customer {0} ({1}/{2})" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:352 +#: erpnext/selling/doctype/customer/customer.py:357 msgid "Credit limit is already defined for the Company {0}" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:613 +#: erpnext/selling/doctype/customer/customer.py:622 msgid "Credit limit reached for customer {0}" msgstr "" @@ -12701,7 +12647,7 @@ msgstr "" #. Label of the cumulative_threshold (Float) field in DocType 'Tax Withholding #. Rate' #: erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.json -msgid "Cumulative Transaction Threshold" +msgid "Cumulative Threshold" msgstr "" #. Name of a UOM @@ -12772,17 +12718,17 @@ msgstr "" msgid "Currency can not be changed after making entries using some other currency" msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:226 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:232 msgid "Currency filters are currently unsupported in Custom Financial Report." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1666 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1734 -#: erpnext/accounts/utils.py:2390 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1587 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1655 +#: erpnext/accounts/utils.py:2431 msgid "Currency for {0} must be {1}" msgstr "" -#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:131 +#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:130 msgid "Currency of the Closing Account must be {0}" msgstr "" @@ -12836,7 +12782,7 @@ msgstr "" msgid "Current BOM" msgstr "" -#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:77 +#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:80 msgid "Current BOM and New BOM can not be same" msgstr "" @@ -12996,13 +12942,10 @@ msgstr "" #. 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' -#. Label of a Link in the Receivables Workspace #. Option for the 'Asset Owner' (Select) field in DocType 'Asset' #. Label of the customer (Link) field in DocType 'Asset' #. Label of the customer (Link) field in DocType 'Purchase Order' #. Option for the 'Party Type' (Select) field in DocType 'Contract' -#. Label of a Link in the CRM Workspace -#. Label of a shortcut in the CRM Workspace #. Label of the customer (Link) field in DocType 'Maintenance Schedule' #. Label of the customer (Link) field in DocType 'Maintenance Visit' #. Label of the customer (Link) field in DocType 'Blanket Order' @@ -13053,7 +12996,7 @@ msgstr "" #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json #: erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.json #: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:304 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:305 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/doctype/sales_invoice_reference/sales_invoice_reference.json #: erpnext/accounts/doctype/tax_rule/tax_rule.json @@ -13067,8 +13010,7 @@ msgstr "" #: erpnext/accounts/report/pos_register/pos_register.py:120 #: erpnext/accounts/report/pos_register/pos_register.py:181 #: erpnext/accounts/report/sales_register/sales_register.js:21 -#: erpnext/accounts/report/sales_register/sales_register.py:187 -#: erpnext/accounts/workspace/receivables/receivables.json +#: erpnext/accounts/report/sales_register/sales_register.py:186 #: erpnext/assets/doctype/asset/asset.json #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier/supplier.js:194 @@ -13077,7 +13019,6 @@ msgstr "" #: erpnext/crm/doctype/opportunity/opportunity.js:99 #: erpnext/crm/doctype/prospect/prospect.js:8 #: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:54 -#: erpnext/crm/workspace/crm/crm.json #: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.json #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json #: erpnext/manufacturing/doctype/blanket_order/blanket_order.json @@ -13133,13 +13074,13 @@ msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.json #: erpnext/stock/doctype/serial_no/serial_no.json #: erpnext/stock/doctype/shipment/shipment.json -#: erpnext/stock/doctype/stock_entry/stock_entry.js:366 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:384 #: erpnext/stock/doctype/warehouse/warehouse.json #: erpnext/stock/report/delayed_item_report/delayed_item_report.js:36 #: erpnext/stock/report/delayed_item_report/delayed_item_report.py:121 #: erpnext/stock/report/delayed_order_report/delayed_order_report.js:36 #: erpnext/stock/report/delayed_order_report/delayed_order_report.py:46 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:530 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:534 #: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.json #: erpnext/support/doctype/issue/issue.json #: erpnext/support/doctype/service_level_agreement/service_level_agreement.json @@ -13223,7 +13164,7 @@ 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:1187 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1191 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/stock/doctype/delivery_stop/delivery_stop.json msgid "Customer Contact" @@ -13324,7 +13265,7 @@ 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:104 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1244 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1248 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:85 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:185 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:56 @@ -13332,7 +13273,7 @@ msgstr "" #: erpnext/accounts/report/gross_profit/gross_profit.py:412 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:200 #: erpnext/accounts/report/sales_register/sales_register.js:27 -#: erpnext/accounts/report/sales_register/sales_register.py:202 +#: erpnext/accounts/report/sales_register/sales_register.py:201 #: erpnext/crm/doctype/opportunity/opportunity.json #: erpnext/crm/doctype/prospect/prospect.json #: erpnext/crm/workspace/crm/crm.json @@ -13368,7 +13309,7 @@ msgstr "" msgid "Customer Group Name" msgstr "" -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1336 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1344 msgid "Customer Group: {0} does not exist" msgstr "" @@ -13387,7 +13328,7 @@ msgstr "" msgid "Customer Items" msgstr "" -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1235 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1239 msgid "Customer LPO" msgstr "" @@ -13435,13 +13376,13 @@ 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:1177 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1181 #: 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:419 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:220 -#: erpnext/accounts/report/sales_register/sales_register.py:193 +#: erpnext/accounts/report/sales_register/sales_register.py:192 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/crm/doctype/opportunity/opportunity.json #: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.json @@ -13505,7 +13446,7 @@ msgstr "" msgid "Customer PO Details" msgstr "" -#: erpnext/public/js/utils/contact_address_quick_entry.js:113 +#: erpnext/public/js/utils/contact_address_quick_entry.js:114 msgid "Customer POS Id" msgstr "" @@ -13545,7 +13486,7 @@ msgstr "" msgid "Customer Provided Item Cost" msgstr "" -#: erpnext/setup/doctype/company/company.py:478 +#: erpnext/setup/doctype/company/company.py:485 msgid "Customer Service" msgstr "" @@ -13602,7 +13543,7 @@ msgstr "" msgid "Customer required for 'Customerwise Discount'" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1119 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1145 #: erpnext/selling/doctype/sales_order/sales_order.py:422 #: erpnext/stock/doctype/delivery_note/delivery_note.py:424 msgid "Customer {0} does not belong to project {1}" @@ -13714,11 +13655,11 @@ msgstr "" msgid "DFS" msgstr "" -#: erpnext/projects/doctype/project/project.py:675 +#: erpnext/projects/doctype/project/project.py:673 msgid "Daily Project Summary for {0}" msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:181 +#: erpnext/setup/doctype/email_digest/email_digest.py:179 msgid "Daily Reminders" msgstr "" @@ -13794,7 +13735,7 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:147 +#: erpnext/setup/doctype/employee/employee.py:146 msgid "Date of Birth cannot be greater than today." msgstr "" @@ -13827,7 +13768,7 @@ msgstr "" msgid "Date of Joining" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:287 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:200 msgid "Date of Transaction" msgstr "" @@ -13951,8 +13892,8 @@ msgstr "" #: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.py:139 #: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:444 #: erpnext/accounts/report/general_ledger/general_ledger.html:92 -#: erpnext/accounts/report/purchase_register/purchase_register.py:240 -#: erpnext/accounts/report/sales_register/sales_register.py:276 +#: erpnext/accounts/report/purchase_register/purchase_register.py:239 +#: erpnext/accounts/report/sales_register/sales_register.py:275 #: erpnext/accounts/report/trial_balance/trial_balance.py:515 #: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:205 #: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:27 @@ -13973,7 +13914,7 @@ msgstr "" msgid "Debit / Credit Note Posting Date" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:596 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:617 msgid "Debit Account" msgstr "" @@ -14015,10 +13956,10 @@ msgstr "" #: 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.html:147 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1219 -#: erpnext/controllers/sales_and_purchase_return.py:395 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1223 +#: erpnext/controllers/sales_and_purchase_return.py:457 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:304 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:52 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:45 msgid "Debit Note" msgstr "" @@ -14042,17 +13983,17 @@ 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:987 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:998 -#: erpnext/controllers/accounts_controller.py:2357 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1013 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1024 +#: erpnext/controllers/accounts_controller.py:2361 msgid "Debit To" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:983 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1009 msgid "Debit To is required" msgstr "" -#: erpnext/accounts/general_ledger.py:530 +#: erpnext/accounts/general_ledger.py:534 msgid "Debit and Credit not equal for {0} #{1}. Difference is {2}." msgstr "" @@ -14085,11 +14026,11 @@ msgstr "" msgid "Debtor Turnover Ratio" msgstr "" -#: erpnext/accounts/party.py:617 +#: erpnext/accounts/party.py:614 msgid "Debtor/Creditor" msgstr "" -#: erpnext/accounts/party.py:620 +#: erpnext/accounts/party.py:617 msgid "Debtor/Creditor Advance" msgstr "" @@ -14126,6 +14067,18 @@ msgstr "" msgid "Deduct" msgstr "" +#. Label of the tax_deduction_basis (Select) field in DocType 'Tax Withholding +#. Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "Deduct Tax On Basis" +msgstr "" + +#. Label of the source_section (Section Break) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Deducted From" +msgstr "" + #. Label of the section_break_3 (Section Break) field in DocType 'Lower #. Deduction Certificate' #: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.json @@ -14175,35 +14128,41 @@ 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:307 +#: erpnext/setup/doctype/company/company.py:314 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:296 +#: erpnext/setup/doctype/company/company.py:303 msgid "Default Advance Received Account" msgstr "" +#. Label of the default_ageing_range (Data) field in DocType 'Accounts +#. Settings' +#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json +msgid "Default Ageing Range" +msgstr "" + #. Label of the default_bom (Link) field in DocType 'Item' #: erpnext/stock/doctype/item/item.json msgid "Default BOM" msgstr "" -#: erpnext/stock/doctype/item/item.py:436 +#: erpnext/stock/doctype/item/item.py:455 msgid "Default BOM ({0}) must be active for this item or its template" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2179 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2183 msgid "Default BOM for {0} not found" msgstr "" -#: erpnext/controllers/accounts_controller.py:3938 +#: erpnext/controllers/accounts_controller.py:3942 msgid "Default BOM not found for FG Item {0}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2176 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2180 msgid "Default BOM not found for Item {0} and Project {1}" msgstr "" @@ -14548,15 +14507,15 @@ msgstr "" msgid "Default Unit of Measure" msgstr "" -#: erpnext/stock/doctype/item/item.py:1270 +#: erpnext/stock/doctype/item/item.py:1289 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:1253 +#: erpnext/stock/doctype/item/item.py:1272 msgid "Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM." msgstr "" -#: erpnext/stock/doctype/item/item.py:901 +#: erpnext/stock/doctype/item/item.py:920 msgid "Default Unit of Measure for Variant '{0}' must be same as in Template '{1}'" msgstr "" @@ -14677,7 +14636,7 @@ msgstr "" msgid "Deferred Revenue and Expense" msgstr "" -#: erpnext/accounts/deferred_revenue.py:543 +#: erpnext/accounts/deferred_revenue.py:540 msgid "Deferred accounting failed for some invoices:" msgstr "" @@ -14768,8 +14727,8 @@ msgstr "" msgid "Delete all the Transactions for this Company" msgstr "" -#. Label of a Link in the Settings Workspace -#: erpnext/setup/workspace/settings/settings.json +#. Label of a Link in the ERPNext Settings Workspace +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json msgid "Deleted Documents" msgstr "" @@ -14777,7 +14736,7 @@ msgstr "" msgid "Deleting {0} and all associated Common Code documents..." msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:503 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:506 msgid "Deletion in Progress!" msgstr "" @@ -14802,7 +14761,7 @@ msgstr "" #. 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.js:401 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:359 #: 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:209 @@ -14843,9 +14802,7 @@ msgid "Delivered Duty Paid" msgstr "" #. Name of a report -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Delivered Items To Be Billed" msgstr "" @@ -14891,7 +14848,7 @@ msgid "Delivered: {0}" msgstr "" #. Option for the 'Purpose' (Select) field in DocType 'Pick List' -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:125 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:126 #: erpnext/stock/doctype/pick_list/pick_list.json msgid "Delivery" msgstr "" @@ -14904,8 +14861,8 @@ msgstr "" #. Label of the delivery_date (Date) field in DocType 'Sales Order Item' #: 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:1051 -#: erpnext/public/js/utils.js:791 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1050 +#: erpnext/public/js/utils.js:799 #: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json #: erpnext/selling/doctype/sales_order/sales_order.js:624 #: erpnext/selling/doctype/sales_order/sales_order.js:1478 @@ -14945,15 +14902,14 @@ msgstr "" #. Inspection' #. Label of the delivery_note (Link) field in DocType 'Shipment Delivery Note' #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:327 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:328 #: erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js:36 #: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json #: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.js:22 #: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:21 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:283 -#: erpnext/accounts/report/sales_register/sales_register.py:245 +#: erpnext/accounts/report/sales_register/sales_register.py:244 #: erpnext/selling/doctype/sales_order/sales_order.js:1042 #: erpnext/selling/doctype/sales_order/sales_order_list.js:81 #: erpnext/setup/doctype/authorization_rule/authorization_rule.json @@ -14961,7 +14917,8 @@ msgstr "" #: erpnext/stock/doctype/delivery_stop/delivery_stop.json #: erpnext/stock/doctype/delivery_trip/delivery_trip.js:52 #: erpnext/stock/doctype/packing_slip/packing_slip.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:66 +#: erpnext/stock/doctype/pick_list/pick_list.js:132 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:59 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json #: erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.json #: erpnext/stock/workspace/stock/stock.json @@ -15003,20 +14960,20 @@ msgstr "" msgid "Delivery Note Trends" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1375 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1406 msgid "Delivery Note {0} is not submitted" msgstr "" -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1239 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1243 #: erpnext/stock/doctype/delivery_trip/delivery_trip.js:73 msgid "Delivery Notes" msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:91 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:95 msgid "Delivery Notes should not be in draft state when submitting a Delivery Trip. The following Delivery Notes are still in draft state: {0}. Please submit them first." msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:146 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:150 msgid "Delivery Notes {0} updated" msgstr "" @@ -15098,19 +15055,19 @@ msgstr "" #. DocType 'Master Production Schedule' #: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.json #: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py:233 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:311 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:376 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:310 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:375 msgid "Demand" msgstr "" #. Label of the demand_qty (Float) field in DocType 'Sales Forecast Item' #: erpnext/manufacturing/doctype/sales_forecast_item/sales_forecast_item.json -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:999 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:998 msgid "Demand Qty" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:323 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:388 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:322 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:387 msgid "Demand vs Supply" msgstr "" @@ -15184,9 +15141,9 @@ msgstr "" msgid "Depreciate based on shifts" msgstr "" -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:213 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:453 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:521 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:212 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:452 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:520 msgid "Depreciated Amount" msgstr "" @@ -15205,7 +15162,7 @@ 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:301 +#: erpnext/assets/doctype/asset/asset.js:339 #: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json msgid "Depreciation Amount" msgstr "" @@ -15242,7 +15199,7 @@ msgstr "" msgid "Depreciation Entry Posting Status" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1237 +#: erpnext/assets/doctype/asset/asset.py:1251 msgid "Depreciation Entry against asset {0}" msgstr "" @@ -15285,15 +15242,15 @@ msgstr "" msgid "Depreciation Posting Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:795 +#: erpnext/assets/doctype/asset/asset.js:879 msgid "Depreciation Posting Date cannot be before Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:382 +#: erpnext/assets/doctype/asset/asset.py:381 msgid "Depreciation Row {0}: Depreciation Posting Date cannot be before Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:697 +#: erpnext/assets/doctype/asset/asset.py:711 msgid "Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1}" msgstr "" @@ -15320,7 +15277,7 @@ msgstr "" msgid "Depreciation Schedule View" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:477 +#: erpnext/assets/doctype/asset/asset.py:476 msgid "Depreciation cannot be calculated for fully depreciated assets" msgstr "" @@ -15408,7 +15365,7 @@ msgstr "" msgid "Difference Account must be a Asset/Liability type account (Temporary Opening), since this Stock Entry is an Opening Entry" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:967 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:966 msgid "Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry" msgstr "" @@ -15436,7 +15393,7 @@ msgstr "" msgid "Difference Amount (Company Currency)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:201 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:203 msgid "Difference Amount must be zero" msgstr "" @@ -15464,7 +15421,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:134 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:168 msgid "Difference Value" msgstr "" @@ -15532,6 +15489,10 @@ msgstr "" msgid "Direct Income" msgstr "" +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:358 +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' @@ -15557,6 +15518,12 @@ msgstr "" msgid "Disable Capacity Planning" msgstr "" +#. Label of the disable_cumulative_threshold (Check) field in DocType 'Tax +#. Withholding Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "Disable Cumulative Threshold" +msgstr "" + #. Label of the disable_in_words (Check) field in DocType 'Global Defaults' #: erpnext/setup/doctype/global_defaults/global_defaults.json msgid "Disable In Words" @@ -15601,6 +15568,12 @@ msgstr "" msgid "Disable Serial No And Batch Selector" msgstr "" +#. Label of the disable_transaction_threshold (Check) field in DocType 'Tax +#. Withholding Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "Disable Transaction Threshold" +msgstr "" + #. Description of the 'Disabled' (Check) field in DocType 'Financial Report #. Template' #: erpnext/accounts/doctype/financial_report_template/financial_report_template.json @@ -15611,15 +15584,15 @@ msgstr "" msgid "Disabled Account Selected" msgstr "" -#: erpnext/stock/utils.py:450 +#: erpnext/stock/utils.py:422 msgid "Disabled Warehouse {0} cannot be used for this transaction." msgstr "" -#: erpnext/controllers/accounts_controller.py:903 +#: erpnext/controllers/accounts_controller.py:901 msgid "Disabled pricing rules since this {} is an internal transfer" msgstr "" -#: erpnext/controllers/accounts_controller.py:917 +#: erpnext/controllers/accounts_controller.py:915 msgid "Disabled tax included prices since this {} is an internal transfer" msgstr "" @@ -15859,7 +15832,7 @@ msgstr "" msgid "Discount must be less than 100" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3419 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3340 msgid "Discount of {} applied as per Payment Term" msgstr "" @@ -15931,7 +15904,7 @@ msgstr "" msgid "Dislikes" msgstr "" -#: erpnext/setup/doctype/company/company.py:472 +#: erpnext/setup/doctype/company/company.py:479 msgid "Dispatch" msgstr "" @@ -16179,7 +16152,7 @@ msgstr "" msgid "Do not update variants on save" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:833 +#: erpnext/assets/doctype/asset/asset.js:917 msgid "Do you really want to restore this scrapped asset?" msgstr "" @@ -16207,7 +16180,7 @@ msgstr "" msgid "Do you want to submit the stock entry?" msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:78 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:81 msgid "DocTypes should not be added manually to the 'Excluded DocTypes' table. You are only allowed to remove entries from it." msgstr "" @@ -16234,7 +16207,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:257 +#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:260 msgid "Documents: {0} have deferred revenue/expense enabled for them. Cannot repost." msgstr "" @@ -16250,18 +16223,21 @@ msgstr "" msgid "Don't Enforce Free Item Qty" 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" +msgstr "" + #. Label of the dont_reserve_sales_order_qty_on_sales_return (Check) field in #. DocType 'Selling Settings' #: erpnext/selling/doctype/selling_settings/selling_settings.json msgid "Don't Reserve Sales Order Qty on Sales Return" msgstr "" -#. Label of the dont_recompute_tax (Check) field in DocType 'Sales Taxes and -#. Charges' -#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json -msgid "Dont Recompute tax" -msgstr "" - #. Label of the doors (Int) field in DocType 'Vehicle' #: erpnext/setup/doctype/vehicle/vehicle.json msgid "Doors" @@ -16282,7 +16258,7 @@ msgstr "" msgid "Download CSV Template" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:153 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:144 msgid "Download PDF for Supplier" msgstr "" @@ -16400,24 +16376,21 @@ msgstr "" msgid "Drops existing SQL Procedures and Function setup by Accounts Receivable report" msgstr "" -#: erpnext/accounts/party.py:703 +#: erpnext/accounts/party.py:700 msgid "Due Date cannot be after {0}" msgstr "" -#: erpnext/accounts/party.py:679 +#: erpnext/accounts/party.py:676 msgid "Due Date cannot be before {0}" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:138 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:144 msgid "Due to stock closing entry {0}, you cannot repost item valuation before {1}" msgstr "" #. Name of a DocType -#. Label of a Card Break in the Receivables Workspace -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/dunning/dunning.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:151 -#: erpnext/accounts/workspace/receivables/receivables.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:152 msgid "Dunning" msgstr "" @@ -16457,10 +16430,8 @@ msgstr "" #. Label of the dunning_type (Link) field in DocType 'Dunning' #. Name of a DocType #. Label of the dunning_type (Data) field in DocType 'Dunning Type' -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/dunning/dunning.json #: erpnext/accounts/doctype/dunning_type/dunning_type.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Dunning Type" msgstr "" @@ -16472,7 +16443,7 @@ msgstr "" msgid "Duplicate Entry. Please check Authorization Rule {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:409 +#: erpnext/assets/doctype/asset/asset.py:408 msgid "Duplicate Finance Book" msgstr "" @@ -16480,12 +16451,16 @@ msgstr "" msgid "Duplicate Item Group" msgstr "" +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:100 +msgid "Duplicate Item Under Same Parent" +msgstr "" + #: erpnext/manufacturing/doctype/workstation/workstation.py:79 #: erpnext/manufacturing/doctype/workstation_type/workstation_type.py:37 msgid "Duplicate Operating Component {0} found in Operating Components" msgstr "" -#: erpnext/accounts/doctype/pos_settings/pos_settings.py:43 +#: erpnext/accounts/doctype/pos_settings/pos_settings.py:44 msgid "Duplicate POS Fields" msgstr "" @@ -16502,11 +16477,11 @@ msgstr "" msgid "Duplicate Sales Invoices found" msgstr "" -#: erpnext/stock/serial_batch_bundle.py:1443 +#: erpnext/stock/serial_batch_bundle.py:1503 msgid "Duplicate Serial Number Error" msgstr "" -#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:78 +#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:80 msgid "Duplicate Stock Closing Entry" msgstr "" @@ -16576,7 +16551,7 @@ msgstr "" #. Option for the 'Barcode Type' (Select) field in DocType 'Item Barcode' #: erpnext/stock/doctype/item_barcode/item_barcode.json -msgid "EAN-12" +msgid "EAN-13" msgstr "" #. Option for the 'Barcode Type' (Select) field in DocType 'Item Barcode' @@ -16594,6 +16569,11 @@ msgstr "" msgid "EMU of current" msgstr "" +#. Name of a Workspace +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json +msgid "ERPNext Settings" +msgstr "" + #. Label of the user_id (Data) field in DocType 'Employee Group Table' #: erpnext/setup/doctype/employee_group_table/employee_group_table.json msgid "ERPNext User ID" @@ -16670,6 +16650,21 @@ msgstr "" msgid "Edit Receipt" 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 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +msgid "Edit Tax Withholding Entries" +msgstr "" + #: erpnext/selling/page/point_of_sale/pos_item_cart.js:777 msgid "Editing {0} is not allowed as per POS Profile settings" msgstr "" @@ -16750,9 +16745,7 @@ msgid "Email Address must be unique, it is already used in {0}" msgstr "" #. Name of a DocType -#. Label of a Link in the CRM Workspace #: erpnext/crm/doctype/email_campaign/email_campaign.json -#: erpnext/crm/workspace/crm/crm.json msgid "Email Campaign" msgstr "" @@ -16796,7 +16789,7 @@ msgstr "" msgid "Email Sent" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:333 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:355 msgid "Email Sent to Supplier {0}" msgstr "" @@ -16813,7 +16806,7 @@ msgstr "" msgid "Email sent to" msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:442 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:446 msgid "Email sent to {0}" msgstr "" @@ -16983,7 +16976,7 @@ msgstr "" msgid "Employee User Id" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:214 +#: erpnext/setup/doctype/employee/employee.py:213 msgid "Employee cannot report to himself." msgstr "" @@ -16996,7 +16989,7 @@ msgstr "" msgid "Employee {0} does not belong to the company {1}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:310 +#: erpnext/manufacturing/doctype/job_card/job_card.py:334 msgid "Employee {0} is currently working on another workstation. Please assign another employee." msgstr "" @@ -17013,7 +17006,7 @@ msgstr "" msgid "Ems(Pica)" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1720 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1721 msgid "Enable Allow Partial Reservation in the Stock Settings to reserve partial stock." msgstr "" @@ -17029,7 +17022,7 @@ msgstr "" msgid "Enable Auto Email" msgstr "" -#: erpnext/stock/doctype/item/item.py:1062 +#: erpnext/stock/doctype/item/item.py:1081 msgid "Enable Auto Re-Order" msgstr "" @@ -17201,7 +17194,7 @@ msgstr "" msgid "Encashment Date" msgstr "" -#: erpnext/crm/doctype/contract/contract.py:70 +#: erpnext/crm/doctype/contract/contract.py:73 msgid "End Date cannot be before Start Date." msgstr "" @@ -17218,7 +17211,7 @@ msgstr "" msgid "End Time" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:292 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:310 msgid "End Transit" msgstr "" @@ -17226,7 +17219,7 @@ msgstr "" #: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:64 #: erpnext/accounts/report/financial_ratios/financial_ratios.js:25 #: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:89 -#: erpnext/public/js/financial_statements.js:351 +#: erpnext/public/js/financial_statements.js:390 msgid "End Year" msgstr "" @@ -17281,7 +17274,7 @@ msgstr "" msgid "Ensure Delivery Based on Produced Serial No" msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:279 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:283 msgid "Enter API key in Google Settings." msgstr "" @@ -17331,7 +17324,7 @@ msgstr "" msgid "Enter amount to be redeemed." msgstr "" -#: erpnext/stock/doctype/item/item.js:1034 +#: erpnext/stock/doctype/item/item.js:1041 msgid "Enter an Item Code, the name will be auto-filled the same as Item Code on clicking inside the Item Name field." msgstr "" @@ -17343,11 +17336,11 @@ msgstr "" msgid "Enter customer's phone number" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:804 +#: erpnext/assets/doctype/asset/asset.js:888 msgid "Enter date to scrap asset" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:475 +#: erpnext/assets/doctype/asset/asset.py:474 msgid "Enter depreciation details" msgstr "" @@ -17378,11 +17371,11 @@ msgstr "" msgid "Enter the name of the bank or lending institution before submitting." msgstr "" -#: erpnext/stock/doctype/item/item.js:1060 +#: erpnext/stock/doctype/item/item.js:1067 msgid "Enter the opening stock units." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:935 +#: erpnext/manufacturing/doctype/bom/bom.js:964 msgid "Enter the quantity of the Item that will be manufactured from this Bill of Materials." msgstr "" @@ -17459,7 +17452,7 @@ msgstr "" msgid "Error evaluating the criteria formula" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:307 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:310 msgid "Error in party matching for Bank Transaction {0}" msgstr "" @@ -17467,22 +17460,22 @@ msgstr "" msgid "Error while posting depreciation entries" msgstr "" -#: erpnext/accounts/deferred_revenue.py:541 +#: erpnext/accounts/deferred_revenue.py:538 msgid "Error while processing deferred accounting for {0}" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:516 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:523 msgid "Error while reposting item valuation" msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py:176 +#: erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py:175 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 "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:962 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:973 msgid "Error: {0} is mandatory field" msgstr "" @@ -17528,7 +17521,7 @@ msgstr "" msgid "Example URL" msgstr "" -#: erpnext/stock/doctype/item/item.py:993 +#: erpnext/stock/doctype/item/item.py:1012 msgid "Example of a linked document: {0}" msgstr "" @@ -17544,7 +17537,7 @@ msgstr "" msgid "Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings." msgstr "" -#: erpnext/stock/stock_ledger.py:2311 +#: erpnext/stock/stock_ledger.py:2278 msgid "Example: Serial No {0} reserved in {1}." msgstr "" @@ -17558,7 +17551,7 @@ msgstr "" msgid "Excess Materials Consumed" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1012 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1031 msgid "Excess Transfer" msgstr "" @@ -17594,12 +17587,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:665 +#: erpnext/setup/doctype/company/company.py:672 msgid "Exchange Gain/Loss" msgstr "" -#: erpnext/controllers/accounts_controller.py:1769 -#: erpnext/controllers/accounts_controller.py:1853 +#: erpnext/controllers/accounts_controller.py:1773 +#: erpnext/controllers/accounts_controller.py:1857 msgid "Exchange Gain/Loss amount has been booked through {0}" msgstr "" @@ -17621,6 +17614,8 @@ msgstr "" #. Reconciliation Log Allocations' #. 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' @@ -17643,6 +17638,7 @@ msgstr "" #: erpnext/accounts/doctype/process_payment_reconciliation_log_allocations/process_payment_reconciliation_log_allocations.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/crm/doctype/opportunity/opportunity.json @@ -17696,7 +17692,7 @@ msgstr "" msgid "Excise Entry" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:1374 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:1395 msgid "Excise Invoice" msgstr "" @@ -17705,6 +17701,10 @@ msgstr "" msgid "Excise Page Number" msgstr "" +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:86 +msgid "Exclude Zero Balance Parties" +msgstr "" + #. Label of the doctypes_to_be_ignored (Table) field in DocType 'Transaction #. Deletion Record' #: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json @@ -17875,10 +17875,10 @@ 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:603 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:605 #: 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:182 #: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:190 msgid "Expense" msgstr "" @@ -17946,13 +17946,13 @@ msgstr "" msgid "Expense Head" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:497 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:521 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:541 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:499 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:523 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:543 msgid "Expense Head Changed" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:599 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:601 msgid "Expense account is mandatory for item {0}" msgstr "" @@ -17978,15 +17978,15 @@ msgid "Expenses Included In Valuation" msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.py:271 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:390 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:408 msgid "Expired Batches" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:291 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:289 msgid "Expires in a week or less" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:295 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:293 msgid "Expires today or already expired" msgstr "" @@ -18008,7 +18008,7 @@ msgstr "" #: erpnext/setup/doctype/driver/driver.json #: erpnext/setup/doctype/driving_license_category/driving_license_category.json #: erpnext/stock/doctype/batch/batch.json -#: erpnext/stock/report/available_batch_report/available_batch_report.py:58 +#: erpnext/stock/report/available_batch_report/available_batch_report.py:57 msgid "Expiry Date" msgstr "" @@ -18051,7 +18051,7 @@ msgstr "" msgid "Extra Consumed Qty" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:227 +#: erpnext/manufacturing/doctype/job_card/job_card.py:231 msgid "Extra Job Card Quantity" msgstr "" @@ -18140,7 +18140,7 @@ msgstr "" msgid "Failed to login" msgstr "" -#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:164 +#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:163 msgid "Failed to parse MT940 format. Error: {0}" msgstr "" @@ -18157,7 +18157,7 @@ msgstr "" msgid "Failed to setup defaults" msgstr "" -#: erpnext/setup/doctype/company/company.py:862 +#: erpnext/setup/doctype/company/company.py:869 msgid "Failed to setup defaults for country {0}. Please contact support." msgstr "" @@ -18229,7 +18229,7 @@ msgstr "" msgid "Fetch Subscription Updates" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1047 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1065 msgid "Fetch Timesheet" msgstr "" @@ -18252,7 +18252,7 @@ msgid "Fetch Value From" msgstr "" #: erpnext/stock/doctype/material_request/material_request.js:360 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:694 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:712 msgid "Fetch exploded BOM (including sub-assemblies)" msgstr "" @@ -18279,7 +18279,7 @@ msgid "Fetching Sales Orders..." msgstr "" #: erpnext/accounts/doctype/dunning/dunning.js:135 -#: erpnext/public/js/controllers/transaction.js:1476 +#: erpnext/public/js/controllers/transaction.js:1497 msgid "Fetching exchange rates ..." msgstr "" @@ -18312,7 +18312,7 @@ msgstr "" #: 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:303 +#: erpnext/public/js/financial_statements.js:342 msgid "Filter Based On" msgstr "" @@ -18417,7 +18417,7 @@ 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:297 +#: erpnext/public/js/financial_statements.js:336 msgid "Finance Book" msgstr "" @@ -18459,11 +18459,11 @@ msgstr "" msgid "Financial Report Template" msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:242 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:248 msgid "Financial Report Template {0} is disabled" msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:239 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:245 msgid "Financial Report Template {0} not found" msgstr "" @@ -18478,7 +18478,7 @@ 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:265 +#: erpnext/public/js/financial_statements.js:304 msgid "Financial Statements" msgstr "" @@ -18504,7 +18504,7 @@ msgstr "" #. Assembly Item' #. Label of the fg_item (Link) field in DocType 'Sales Order Item' #. Label of the finished_good (Link) field in DocType 'Subcontracting BOM' -#: erpnext/buying/doctype/purchase_order/purchase_order.js:246 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:204 #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json #: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json @@ -18525,7 +18525,7 @@ msgstr "" #. Service Item' #. Label of the fg_item (Link) field in DocType 'Subcontracting Order Service #. Item' -#: erpnext/public/js/utils.js:817 +#: erpnext/public/js/utils.js:825 #: 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" @@ -18538,7 +18538,7 @@ msgstr "" msgid "Finished Good Item Code" msgstr "" -#: erpnext/public/js/utils.js:835 +#: erpnext/public/js/utils.js:843 msgid "Finished Good Item Qty" msgstr "" @@ -18551,15 +18551,15 @@ msgstr "" msgid "Finished Good Item Quantity" msgstr "" -#: erpnext/controllers/accounts_controller.py:3924 +#: erpnext/controllers/accounts_controller.py:3928 msgid "Finished Good Item is not specified for service item {0}" msgstr "" -#: erpnext/controllers/accounts_controller.py:3941 +#: erpnext/controllers/accounts_controller.py:3945 msgid "Finished Good Item {0} Qty can not be zero" msgstr "" -#: erpnext/controllers/accounts_controller.py:3935 +#: erpnext/controllers/accounts_controller.py:3939 msgid "Finished Good Item {0} must be a sub-contracted item" msgstr "" @@ -18604,7 +18604,7 @@ msgstr "" msgid "Finished Good {0} must be a sub-contracted item." msgstr "" -#: erpnext/setup/doctype/company/company.py:377 +#: erpnext/setup/doctype/company/company.py:384 msgid "Finished Goods" msgstr "" @@ -18645,7 +18645,7 @@ msgstr "" msgid "Finished Goods based Operating Cost" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1594 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1607 msgid "Finished Item {0} does not match with Work Order {1}" msgstr "" @@ -18669,7 +18669,7 @@ msgstr "" msgid "First Response Due" msgstr "" -#: erpnext/support/doctype/issue/test_issue.py:239 +#: erpnext/support/doctype/issue/test_issue.py:238 #: erpnext/support/doctype/service_level_agreement/service_level_agreement.py:906 msgid "First Response SLA Failed by {}" msgstr "" @@ -18757,7 +18757,7 @@ msgstr "" msgid "Fiscal Year {0} does not exist" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:97 +#: erpnext/accounts/doctype/budget/budget.py:95 msgid "Fiscal Year {0} is not available for Company {1}." msgstr "" @@ -18785,7 +18785,7 @@ msgstr "" #. Capitalization Asset Item' #. Label of the fixed_asset_account (Link) field in DocType 'Asset Category #. Account' -#: erpnext/assets/doctype/asset/asset.py:879 +#: erpnext/assets/doctype/asset/asset.py:893 #: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json #: erpnext/assets/doctype/asset_category_account/asset_category_account.json msgid "Fixed Asset Account" @@ -18796,14 +18796,12 @@ msgstr "" msgid "Fixed Asset Defaults" msgstr "" -#: erpnext/stock/doctype/item/item.py:304 +#: erpnext/stock/doctype/item/item.py:323 msgid "Fixed Asset Item must be a non-stock item." msgstr "" #. Name of a report -#. Label of a shortcut in the Assets Workspace #: erpnext/assets/report/fixed_asset_register/fixed_asset_register.json -#: erpnext/assets/workspace/assets/assets.json msgid "Fixed Asset Register" msgstr "" @@ -18867,11 +18865,11 @@ msgstr "" msgid "Fluid Ounce (US)" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:334 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:384 msgid "Focus on Item Group filter" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:325 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:375 msgid "Focus on search input" msgstr "" @@ -18889,7 +18887,7 @@ msgstr "" msgid "Following Material Requests have been raised automatically based on Item's re-order level" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:784 +#: erpnext/selling/doctype/customer/customer.py:793 msgid "Following fields are mandatory to create address:" msgstr "" @@ -18950,7 +18948,7 @@ msgstr "" msgid "For Item" msgstr "" -#: erpnext/controllers/stock_controller.py:1546 +#: erpnext/controllers/stock_controller.py:1556 msgid "For Item {0} cannot be received more than {1} qty against the {2} {3}" msgstr "" @@ -18981,7 +18979,7 @@ msgstr "" msgid "For Production" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:790 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:801 msgid "For Quantity (Manufactured Qty) is mandatory" msgstr "" @@ -18991,7 +18989,7 @@ msgstr "" msgid "For Raw Materials" msgstr "" -#: erpnext/controllers/accounts_controller.py:1435 +#: erpnext/controllers/accounts_controller.py:1439 msgid "For Return Invoices with Stock effect, '0' qty Items are not allowed. Following rows are affected: {0}" msgstr "" @@ -19019,11 +19017,11 @@ msgstr "" msgid "For Work Order" msgstr "" -#: erpnext/controllers/status_updater.py:278 +#: erpnext/controllers/status_updater.py:281 msgid "For an item {0}, quantity must be negative number" msgstr "" -#: erpnext/controllers/status_updater.py:275 +#: erpnext/controllers/status_updater.py:278 msgid "For an item {0}, quantity must be positive number" msgstr "" @@ -19053,11 +19051,11 @@ 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:283 +#: erpnext/controllers/status_updater.py:286 msgid "For item {0}, rate must be a positive number. To Allow negative rates, enable {1} in {2}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2524 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2528 msgid "For operation {0}: Quantity ({1}) can not be greater than pending quantity({2})" msgstr "" @@ -19074,7 +19072,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:1626 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1639 msgid "For quantity {0} should not be greater than allowed quantity {1}" msgstr "" @@ -19083,12 +19081,12 @@ msgstr "" msgid "For reference" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1528 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1539 #: erpnext/public/js/controllers/accounts.js:204 msgid "For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1691 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1711 msgid "For row {0}: Enter Planned Qty" msgstr "" @@ -19107,11 +19105,11 @@ 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:930 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:941 msgid "For the item {0}, the quantity should be {1} according to the BOM {2}." msgstr "" -#: erpnext/public/js/controllers/transaction.js:1286 +#: erpnext/public/js/controllers/transaction.js:1307 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 "" @@ -19120,7 +19118,7 @@ msgstr "" msgid "For the {0}, no stock is available for the return in the warehouse {1}." msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1123 +#: erpnext/controllers/sales_and_purchase_return.py:1193 msgid "For the {0}, the quantity is required to make the return entry" msgstr "" @@ -19143,16 +19141,6 @@ msgstr "" msgid "Forecast Qty" msgstr "" -#. Label of a shortcut in the Manufacturing Workspace -#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json -msgid "Forecasting" -msgstr "" - -#. Label of the forecasting_method (Select) field in DocType 'Sales Forecast' -#: erpnext/manufacturing/doctype/sales_forecast/sales_forecast.json -msgid "Forecasting Method" -msgstr "" - #: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:280 #: erpnext/accounts/report/consolidated_trial_balance/consolidated_trial_balance.py:281 #: erpnext/accounts/report/consolidated_trial_balance/test_consolidated_trial_balance.py:88 @@ -19229,7 +19217,7 @@ msgstr "" msgid "Free item code is not selected" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:654 +#: erpnext/accounts/doctype/pricing_rule/utils.py:653 msgid "Free item not set in the pricing rule {0}" msgstr "" @@ -19308,7 +19296,11 @@ msgstr "" msgid "From Date and To Date are mandatory" msgstr "" -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:46 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:25 +msgid "From Date and To Date are required" +msgstr "" + +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:29 msgid "From Date and To Date lie in different Fiscal Year" msgstr "" @@ -19319,15 +19311,15 @@ msgstr "" msgid "From Date cannot be greater than To Date" msgstr "" -#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:27 +#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:26 msgid "From Date is mandatory" 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:41 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:41 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:28 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:24 #: 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 msgid "From Date must be before To Date" @@ -19385,7 +19377,7 @@ msgstr "" msgid "From Fiscal Year" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:110 +#: erpnext/accounts/doctype/budget/budget.py:108 msgid "From Fiscal Year cannot be greater than To Fiscal Year" msgstr "" @@ -19451,7 +19443,7 @@ msgstr "" msgid "From Range" msgstr "" -#: erpnext/stock/doctype/item_attribute/item_attribute.py:96 +#: erpnext/stock/doctype/item_attribute/item_attribute.py:95 msgid "From Range has to be less than To Range" msgstr "" @@ -19681,7 +19673,7 @@ msgstr "" msgid "Furniture and Fixtures" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:139 +#: erpnext/accounts/doctype/account/account_tree.js:140 msgid "Further accounts can be made under Groups, but entries can be made against non-Groups" msgstr "" @@ -19695,14 +19687,14 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:188 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:155 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1231 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1235 #: 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.html:154 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1230 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1234 msgid "Future Payment Ref" msgstr "" @@ -19757,6 +19749,11 @@ msgstr "" msgid "GTIN" msgstr "" +#. Option for the 'Barcode Type' (Select) field in DocType 'Item Barcode' +#: erpnext/stock/doctype/item_barcode/item_barcode.json +msgid "GTIN-14" +msgstr "" + #. Label of the gain_loss (Currency) field in DocType 'Exchange Rate #. Revaluation Account' #: erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.json @@ -19788,7 +19785,7 @@ 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:673 +#: erpnext/setup/doctype/company/company.py:680 msgid "Gain/Loss on Asset Disposal" msgstr "" @@ -19991,37 +19988,37 @@ msgstr "" #. Label of the get_items_from (Select) field in DocType 'Production Plan' #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:166 #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:191 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:288 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:320 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:354 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1103 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:603 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:626 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:366 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:388 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:433 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:67 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:100 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:289 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:321 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:355 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1121 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:561 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:584 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:376 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:398 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:443 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:75 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:108 #: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js:80 #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js:100 #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js:119 #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js:142 #: erpnext/manufacturing/doctype/production_plan/production_plan.json #: erpnext/public/js/controllers/buying.js:327 -#: erpnext/selling/doctype/quotation/quotation.js:174 +#: erpnext/selling/doctype/quotation/quotation.js:183 #: erpnext/selling/doctype/sales_order/sales_order.js:196 #: erpnext/selling/doctype/sales_order/sales_order.js:1200 #: 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:129 #: erpnext/stock/doctype/material_request/material_request.js:226 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:151 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:241 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:333 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:380 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:413 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:500 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:661 +#: 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:351 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:398 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:431 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:522 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:679 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:164 msgid "Get Items From" msgstr "" @@ -20037,12 +20034,12 @@ msgid "Get Items for Purchase Only" msgstr "" #: erpnext/stock/doctype/material_request/material_request.js:334 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:697 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:710 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:715 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:728 msgid "Get Items from BOM" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:405 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:415 msgid "Get Items from Material Requests against this Supplier" msgstr "" @@ -20142,16 +20139,16 @@ msgstr "" msgid "Get Supplier Group Details" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:447 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:467 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:457 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:477 msgid "Get Suppliers" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:471 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:481 msgid "Get Suppliers By" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1099 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1117 msgid "Get Timesheets" msgstr "" @@ -20187,9 +20184,9 @@ msgid "Give free item for every N quantity" msgstr "" #. Name of a DocType -#. Label of a shortcut in the Settings Workspace +#. Label of a shortcut in the ERPNext Settings Workspace #: erpnext/setup/doctype/global_defaults/global_defaults.json -#: erpnext/setup/workspace/settings/settings.json +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json msgid "Global Defaults" msgstr "" @@ -20212,7 +20209,7 @@ msgstr "" msgid "Goods" msgstr "" -#: erpnext/setup/doctype/company/company.py:378 +#: erpnext/setup/doctype/company/company.py:385 #: erpnext/stock/doctype/stock_entry/stock_entry_list.js:21 msgid "Goods In Transit" msgstr "" @@ -20221,7 +20218,7 @@ msgstr "" msgid "Goods Transferred" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2145 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2156 msgid "Goods are already received against the outward entry {0}" msgstr "" @@ -20229,7 +20226,9 @@ msgstr "" msgid "Government" msgstr "" +#. Option for the 'Status' (Select) field in DocType 'Subscription' #. Label of the grace_period (Int) field in DocType 'Subscription Settings' +#: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/doctype/subscription_settings/subscription_settings.json msgid "Grace Period" msgstr "" @@ -20290,7 +20289,8 @@ msgid "Gram/Litre" msgstr "" #. Label of the grand_total (Currency) field in DocType 'Dunning' -#. Label of the total_amount (Float) field in DocType 'Payment Entry Reference' +#. Label of the total_amount (Currency) field in DocType 'Payment Entry +#. Reference' #. Label of the grand_total (Currency) field in DocType 'POS Closing Entry' #. Option for the 'Apply Additional Discount On' (Select) field in DocType 'POS #. Invoice' @@ -20340,9 +20340,9 @@ msgstr "" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/report/pos_register/pos_register.py:202 -#: erpnext/accounts/report/purchase_register/purchase_register.py:275 -#: erpnext/accounts/report/sales_register/sales_register.py:305 -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:273 +#: erpnext/accounts/report/purchase_register/purchase_register.py:274 +#: erpnext/accounts/report/sales_register/sales_register.py:304 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:175 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json @@ -20398,7 +20398,7 @@ msgstr "" msgid "Grant Commission" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:881 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:892 msgid "Greater Than Amount" msgstr "" @@ -20464,6 +20464,12 @@ msgstr "" msgid "Gross Profit Ratio" msgstr "" +#. Option for the 'Deduct Tax On Basis' (Select) field in DocType 'Tax +#. Withholding Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "Gross Total" +msgstr "" + #. Label of the gross_weight_pkg (Float) field in DocType 'Packing Slip' #: erpnext/stock/doctype/packing_slip/packing_slip.json msgid "Gross Weight" @@ -20487,6 +20493,11 @@ msgstr "" msgid "Group By Supplier" msgstr "" +#. Label of the group_name (Data) field in DocType 'Tax Withholding Group' +#: erpnext/accounts/doctype/tax_withholding_group/tax_withholding_group.json +msgid "Group Name" +msgstr "" + #: erpnext/setup/doctype/sales_person/sales_person_tree.js:14 msgid "Group Node" msgstr "" @@ -20525,7 +20536,7 @@ msgstr "" msgid "Group by Voucher" msgstr "" -#: erpnext/stock/utils.py:444 +#: erpnext/stock/utils.py:416 msgid "Group node warehouse is not allowed to select for transactions" msgstr "" @@ -20592,7 +20603,7 @@ msgstr "" #: erpnext/accounts/report/budget_variance_report/budget_variance_report.js:64 #: 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:364 +#: erpnext/public/js/financial_statements.js:403 #: 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 @@ -20801,7 +20812,7 @@ msgstr "" msgid "Here are the error logs for the aforementioned failed depreciation entries: {0}" msgstr "" -#: erpnext/stock/stock_ledger.py:2030 +#: erpnext/stock/stock_ledger.py:1997 msgid "Here are the options to proceed:" msgstr "" @@ -20829,7 +20840,7 @@ msgstr "" msgid "Hertz" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:518 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:525 msgid "Hi," msgstr "" @@ -20865,7 +20876,7 @@ msgstr "" msgid "Hide Images" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:297 +#: erpnext/selling/page/point_of_sale/pos_controller.js:270 msgid "Hide Recent Orders" msgstr "" @@ -20895,7 +20906,7 @@ msgstr "" msgid "History In Company" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:380 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:338 #: erpnext/selling/doctype/sales_order/sales_order.js:989 msgid "Hold" msgstr "" @@ -20950,12 +20961,6 @@ msgstr "" msgid "Holidays" msgstr "" -#. Option for the 'Forecasting Method' (Select) field in DocType 'Sales -#. Forecast' -#: erpnext/manufacturing/doctype/sales_forecast/sales_forecast.json -msgid "Holt-Winters" -msgstr "" - #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Horsepower" @@ -21029,7 +21034,7 @@ msgstr "" msgid "Hrs" msgstr "" -#: erpnext/setup/doctype/company/company.py:484 +#: erpnext/setup/doctype/company/company.py:491 msgid "Human Resources" msgstr "" @@ -21261,8 +21266,8 @@ msgid "" msgstr "" #. Description of the 'Create Ledger Entries for Change Amount' (Check) field -#. in DocType 'Accounts Settings' -#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json +#. in DocType 'POS Settings' +#: erpnext/accounts/doctype/pos_settings/pos_settings.json msgid "If enabled, ledger entries will be posted for change amount in POS transactions" msgstr "" @@ -21376,7 +21381,7 @@ 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:2040 +#: erpnext/stock/stock_ledger.py:2007 msgid "If not, you can Cancel / Submit this entry" msgstr "" @@ -21405,7 +21410,7 @@ msgstr "" msgid "If the account is frozen, entries are allowed to restricted users." msgstr "" -#: erpnext/stock/stock_ledger.py:2033 +#: erpnext/stock/stock_ledger.py:2000 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 "" @@ -21453,7 +21458,7 @@ msgstr "" msgid "If this is unchecked, direct GL entries will be created to book deferred revenue or expense" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:740 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:745 msgid "If this is undesirable please cancel the corresponding Payment Entry." msgstr "" @@ -21492,7 +21497,7 @@ msgstr "" msgid "If yes, then this warehouse will be used to store rejected materials" msgstr "" -#: erpnext/stock/doctype/item/item.js:1046 +#: erpnext/stock/doctype/item/item.js:1053 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 "" @@ -21502,19 +21507,24 @@ 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:1071 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1091 msgid "If you still want to proceed, please disable 'Skip Available Sub Assembly Items' checkbox." msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1807 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1827 msgid "If you still want to proceed, please enable {0}." msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:376 +#. Description of the 'Sequence ID' (Int) field in DocType 'BOM Operation' +#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json +msgid "If you want to run operations in parallel, keep the same sequence ID for them." +msgstr "" + +#: erpnext/accounts/doctype/pricing_rule/utils.py:375 msgid "If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item." msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:381 +#: erpnext/accounts/doctype/pricing_rule/utils.py:380 msgid "If you {0} {1} worth item {2}, the scheme {3} will be applied on the item." msgstr "" @@ -21578,7 +21588,7 @@ msgstr "" msgid "Ignore Existing Ordered Qty" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1799 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1819 msgid "Ignore Existing Projected Quantity" msgstr "" @@ -21626,6 +21636,21 @@ msgstr "" msgid "Ignore System Generated Credit / Debit Notes" 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 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +msgid "Ignore Tax Withholding Threshold" +msgstr "" + #. Label of the ignore_user_time_overlap (Check) field in DocType 'Projects #. Settings' #: erpnext/projects/doctype/projects_settings/projects_settings.json @@ -21664,10 +21689,10 @@ msgstr "" msgid "Import Chart of Accounts from a csv file" msgstr "" +#. Label of a Link in the ERPNext Settings Workspace #. Label of a Link in the Home Workspace -#. Label of a Link in the Settings Workspace +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json #: erpnext/setup/workspace/home/home.json -#: erpnext/setup/workspace/settings/settings.json msgid "Import Data" msgstr "" @@ -21766,7 +21791,7 @@ 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:471 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:237 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:236 msgid "In Qty" msgstr "" @@ -21901,7 +21926,7 @@ msgstr "" msgid "In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent" msgstr "" -#: erpnext/stock/doctype/item/item.js:1079 +#: erpnext/stock/doctype/item/item.js:1086 msgid "In this section, you can define Company-wide transaction-related defaults for this Item. Eg. Default Warehouse, Default Price List, Supplier, etc." msgstr "" @@ -22112,7 +22137,7 @@ msgstr "" msgid "Included Fee" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:322 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:325 msgid "Included fee is bigger than the withdrawal itself." msgstr "" @@ -22136,10 +22161,10 @@ msgstr "" #: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:236 #: erpnext/accounts/doctype/ledger_merge/ledger_merge.json #: erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:414 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:439 #: 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:180 #: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:183 msgid "Income" msgstr "" @@ -22162,6 +22187,11 @@ msgstr "" msgid "Income Account" msgstr "" +#. Label of a number card in the Accounting Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +msgid "Incoming Bills" +msgstr "" + #. Name of a DocType #: erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json msgid "Incoming Call Handling Schedule" @@ -22172,6 +22202,11 @@ msgstr "" msgid "Incoming Call Settings" msgstr "" +#. Label of a number card in the Accounting Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +msgid "Incoming Payment" +msgstr "" + #. Label of the incoming_rate (Currency) field in DocType 'Delivery Note Item' #. Label of the incoming_rate (Currency) field in DocType 'Packed Item' #. Label of the purchase_rate (Float) field in DocType 'Serial No' @@ -22182,7 +22217,7 @@ 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:280 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:279 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:193 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:96 msgid "Incoming Rate" @@ -22206,19 +22241,19 @@ msgstr "" msgid "Incorrect Balance Qty After Transaction" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1044 +#: erpnext/controllers/subcontracting_controller.py:1043 msgid "Incorrect Batch Consumed" msgstr "" -#: erpnext/stock/doctype/item/item.py:532 +#: erpnext/stock/doctype/item/item.py:551 msgid "Incorrect Check in (group) Warehouse for Reorder" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:935 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:946 msgid "Incorrect Component Quantity" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:385 +#: erpnext/assets/doctype/asset/asset.py:384 #: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:56 msgid "Incorrect Date" msgstr "" @@ -22227,7 +22262,7 @@ msgstr "" msgid "Incorrect Invoice" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:354 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:359 msgid "Incorrect Payment Type" msgstr "" @@ -22240,7 +22275,7 @@ msgstr "" msgid "Incorrect Serial No Valuation" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1057 +#: erpnext/controllers/subcontracting_controller.py:1056 msgid "Incorrect Serial Number Consumed" msgstr "" @@ -22254,7 +22289,7 @@ msgstr "" msgid "Incorrect Stock Value Report" msgstr "" -#: erpnext/stock/serial_batch_bundle.py:136 +#: erpnext/stock/serial_batch_bundle.py:134 msgid "Incorrect Type of Transaction" msgstr "" @@ -22310,7 +22345,7 @@ msgstr "" msgid "Increment" msgstr "" -#: erpnext/stock/doctype/item_attribute/item_attribute.py:99 +#: erpnext/stock/doctype/item_attribute/item_attribute.py:98 msgid "Increment cannot be 0" msgstr "" @@ -22359,11 +22394,11 @@ msgstr "" msgid "Individual" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:327 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:325 msgid "Individual GL Entry cannot be cancelled." msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:347 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:346 msgid "Individual Stock Ledger Entry cannot be cancelled." msgstr "" @@ -22415,13 +22450,13 @@ msgstr "" msgid "Inspected By" msgstr "" -#: erpnext/controllers/stock_controller.py:1440 +#: erpnext/controllers/stock_controller.py:1450 msgid "Inspection Rejected" msgstr "" #. Label of the inspection_required (Check) field in DocType 'Stock Entry' -#: erpnext/controllers/stock_controller.py:1410 -#: erpnext/controllers/stock_controller.py:1412 +#: erpnext/controllers/stock_controller.py:1420 +#: erpnext/controllers/stock_controller.py:1422 #: erpnext/stock/doctype/stock_entry/stock_entry.json msgid "Inspection Required" msgstr "" @@ -22438,7 +22473,7 @@ msgstr "" msgid "Inspection Required before Purchase" msgstr "" -#: erpnext/controllers/stock_controller.py:1425 +#: erpnext/controllers/stock_controller.py:1435 msgid "Inspection Submission" msgstr "" @@ -22507,22 +22542,22 @@ msgstr "" msgid "Insufficient Capacity" msgstr "" -#: erpnext/controllers/accounts_controller.py:3834 -#: erpnext/controllers/accounts_controller.py:3858 +#: erpnext/controllers/accounts_controller.py:3838 +#: erpnext/controllers/accounts_controller.py:3862 msgid "Insufficient Permissions" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:462 #: erpnext/stock/doctype/pick_list/pick_list.py:134 #: erpnext/stock/doctype/pick_list/pick_list.py:152 -#: erpnext/stock/doctype/pick_list/pick_list.py:1032 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:910 -#: erpnext/stock/serial_batch_bundle.py:1186 erpnext/stock/stock_ledger.py:1714 -#: erpnext/stock/stock_ledger.py:2202 +#: erpnext/stock/doctype/pick_list/pick_list.py:1020 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:921 +#: erpnext/stock/serial_batch_bundle.py:1246 erpnext/stock/stock_ledger.py:1709 +#: erpnext/stock/stock_ledger.py:2169 msgid "Insufficient Stock" msgstr "" -#: erpnext/stock/stock_ledger.py:2217 +#: erpnext/stock/stock_ledger.py:2184 msgid "Insufficient Stock for Batch" msgstr "" @@ -22627,7 +22662,7 @@ msgstr "" msgid "Inter Company Reference" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:486 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:444 msgid "Inter Company Sales Order" msgstr "" @@ -22658,7 +22693,7 @@ msgstr "" msgid "Interest Income" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3053 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2974 msgid "Interest and/or dunning fee" msgstr "" @@ -22683,7 +22718,7 @@ msgstr "" msgid "Internal Customer" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:224 +#: erpnext/selling/doctype/customer/customer.py:229 msgid "Internal Customer for company {0} already exists" msgstr "" @@ -22691,15 +22726,15 @@ msgstr "" msgid "Internal Purchase Order" msgstr "" -#: erpnext/controllers/accounts_controller.py:803 +#: erpnext/controllers/accounts_controller.py:801 msgid "Internal Sale or Delivery Reference missing." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:485 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:443 msgid "Internal Sales Order" msgstr "" -#: erpnext/controllers/accounts_controller.py:805 +#: erpnext/controllers/accounts_controller.py:803 msgid "Internal Sales Reference Missing" msgstr "" @@ -22709,7 +22744,7 @@ msgstr "" msgid "Internal Supplier" msgstr "" -#: erpnext/buying/doctype/supplier/supplier.py:180 +#: erpnext/buying/doctype/supplier/supplier.py:182 msgid "Internal Supplier for company {0} already exists" msgstr "" @@ -22730,7 +22765,7 @@ msgstr "" msgid "Internal Transfer" msgstr "" -#: erpnext/controllers/accounts_controller.py:814 +#: erpnext/controllers/accounts_controller.py:812 msgid "Internal Transfer Reference Missing" msgstr "" @@ -22743,7 +22778,7 @@ msgstr "" msgid "Internal Work History" msgstr "" -#: erpnext/controllers/stock_controller.py:1507 +#: erpnext/controllers/stock_controller.py:1517 msgid "Internal transfers can only be done in company's default currency" msgstr "" @@ -22757,23 +22792,23 @@ msgstr "" msgid "Interval should be between 1 to 59 MInutes" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:378 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:386 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:993 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1003 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:380 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:388 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1019 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1029 #: erpnext/assets/doctype/asset_category/asset_category.py:69 #: erpnext/assets/doctype/asset_category/asset_category.py:97 -#: erpnext/controllers/accounts_controller.py:3201 -#: erpnext/controllers/accounts_controller.py:3209 +#: erpnext/controllers/accounts_controller.py:3205 +#: erpnext/controllers/accounts_controller.py:3213 msgid "Invalid Account" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:394 -#: erpnext/accounts/doctype/payment_request/payment_request.py:873 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:399 +#: erpnext/accounts/doctype/payment_request/payment_request.py:876 msgid "Invalid Allocated Amount" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:121 +#: erpnext/accounts/doctype/payment_request/payment_request.py:124 msgid "Invalid Amount" msgstr "" @@ -22781,7 +22816,7 @@ msgstr "" msgid "Invalid Attribute" msgstr "" -#: erpnext/controllers/accounts_controller.py:625 +#: erpnext/controllers/accounts_controller.py:623 msgid "Invalid Auto Repeat Date" msgstr "" @@ -22789,7 +22824,7 @@ msgstr "" msgid "Invalid Barcode. There is no Item attached to this barcode." msgstr "" -#: erpnext/public/js/controllers/transaction.js:3087 +#: erpnext/public/js/controllers/transaction.js:3107 msgid "Invalid Blanket Order for the selected Customer and Item" msgstr "" @@ -22797,13 +22832,13 @@ msgstr "" msgid "Invalid Child Procedure" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2279 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2355 msgid "Invalid Company for Inter Company Transaction." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:356 -#: erpnext/assets/doctype/asset/asset.py:363 -#: erpnext/controllers/accounts_controller.py:3224 +#: erpnext/assets/doctype/asset/asset.py:355 +#: erpnext/assets/doctype/asset/asset.py:362 +#: erpnext/controllers/accounts_controller.py:3228 msgid "Invalid Cost Center" msgstr "" @@ -22815,7 +22850,7 @@ msgstr "" msgid "Invalid Discount" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:812 +#: erpnext/controllers/taxes_and_totals.py:797 msgid "Invalid Discount Amount" msgstr "" @@ -22827,8 +22862,8 @@ msgstr "" msgid "Invalid Document Type" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:319 -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:324 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:323 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:328 msgid "Invalid Formula" msgstr "" @@ -22837,11 +22872,11 @@ msgid "Invalid Group By" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:499 -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:934 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:954 msgid "Invalid Item" msgstr "" -#: erpnext/stock/doctype/item/item.py:1408 +#: erpnext/stock/doctype/item/item.py:1427 msgid "Invalid Item Defaults" msgstr "" @@ -22850,12 +22885,12 @@ msgstr "" msgid "Invalid Ledger Entries" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:557 +#: erpnext/assets/doctype/asset/asset.py:559 msgid "Invalid Net Purchase Amount" msgstr "" #: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:77 -#: erpnext/accounts/general_ledger.py:803 +#: erpnext/accounts/general_ledger.py:819 msgid "Invalid Opening Entry" msgstr "" @@ -22889,19 +22924,19 @@ msgstr "" msgid "Invalid Priority" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1169 +#: erpnext/manufacturing/doctype/bom/bom.py:1173 msgid "Invalid Process Loss Configuration" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:701 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:706 msgid "Invalid Purchase Invoice" msgstr "" -#: erpnext/controllers/accounts_controller.py:3878 +#: erpnext/controllers/accounts_controller.py:3882 msgid "Invalid Qty" msgstr "" -#: erpnext/controllers/accounts_controller.py:1453 +#: erpnext/controllers/accounts_controller.py:1457 msgid "Invalid Quantity" msgstr "" @@ -22917,8 +22952,8 @@ msgstr "" msgid "Invalid Sales Invoices" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:643 -#: erpnext/assets/doctype/asset/asset.py:662 +#: erpnext/assets/doctype/asset/asset.py:648 +#: erpnext/assets/doctype/asset/asset.py:676 msgid "Invalid Schedule" msgstr "" @@ -22926,12 +22961,12 @@ msgstr "" msgid "Invalid Selling Price" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1669 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1682 msgid "Invalid Serial and Batch Bundle" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:969 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:991 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:980 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1002 msgid "Invalid Source and Target Warehouse" msgstr "" @@ -22944,7 +22979,7 @@ msgstr "" msgid "Invalid Warehouse" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:393 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:396 msgid "Invalid amount in accounting entries of {} {} for Account {}: {}" msgstr "" @@ -22960,11 +22995,11 @@ msgstr "" msgid "Invalid lost reason {0}, please create a new lost reason" msgstr "" -#: erpnext/stock/doctype/item/item.py:408 +#: erpnext/stock/doctype/item/item.py:427 msgid "Invalid naming series (. missing) for {0}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:544 +#: erpnext/accounts/doctype/payment_request/payment_request.py:547 msgid "Invalid parameter. 'dn' should be of type str" msgstr "" @@ -22982,16 +23017,16 @@ msgstr "" #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:108 #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:118 -#: erpnext/accounts/general_ledger.py:846 -#: erpnext/accounts/general_ledger.py:856 +#: erpnext/accounts/general_ledger.py:862 +#: erpnext/accounts/general_ledger.py:872 msgid "Invalid value {0} for {1} against account {2}" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:197 +#: erpnext/accounts/doctype/pricing_rule/utils.py:196 msgid "Invalid {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2277 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2353 msgid "Invalid {0} for Inter Company Transaction." msgstr "" @@ -23018,7 +23053,7 @@ msgstr "" msgid "Inventory Dimension" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:160 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:159 msgid "Inventory Dimension Negative Stock" msgstr "" @@ -23080,15 +23115,15 @@ msgstr "" #. Account' #: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:141 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:142 msgid "Invoice Discounting" msgstr "" -#: erpnext/accounts/doctype/pos_settings/pos_settings.py:55 +#: erpnext/accounts/doctype/pos_settings/pos_settings.py:56 msgid "Invoice Document Type Selection Error" msgstr "" -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1211 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1215 msgid "Invoice Grand Total" msgstr "" @@ -23164,7 +23199,7 @@ msgstr "" #: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool_dashboard.html:7 #: erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json #: erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json -#: erpnext/accounts/doctype/pos_settings/pos_settings.py:53 +#: erpnext/accounts/doctype/pos_settings/pos_settings.py:54 #: 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" @@ -23175,7 +23210,7 @@ msgstr "" msgid "Invoice Type Created via POS Screen" msgstr "" -#: erpnext/projects/doctype/timesheet/timesheet.py:407 +#: erpnext/projects/doctype/timesheet/timesheet.py:420 msgid "Invoice already created for all billing hours" msgstr "" @@ -23185,13 +23220,13 @@ msgstr "" msgid "Invoice and Billing" msgstr "" -#: erpnext/projects/doctype/timesheet/timesheet.py:404 +#: erpnext/projects/doctype/timesheet/timesheet.py:417 msgid "Invoice can't be made for zero billing hour" msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:171 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:144 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1213 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1217 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:164 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:196 msgid "Invoiced Amount" @@ -23211,7 +23246,7 @@ msgstr "" #: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json #: erpnext/accounts/doctype/pos_profile/pos_profile.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2328 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2404 #: 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" @@ -23223,13 +23258,6 @@ msgstr "" msgid "Invoices and Payments have been Fetched and Allocated" msgstr "" -#. Label of a Card Break in the Payables Workspace -#. Label of a Card Break in the Receivables Workspace -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json -msgid "Invoicing" -msgstr "" - #. Label of the invoicing_features_section (Section Break) field in DocType #. 'Accounts Settings' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json @@ -23291,7 +23319,7 @@ msgid "Is Advance" msgstr "" #. Label of the is_alternative (Check) field in DocType 'Quotation Item' -#: erpnext/selling/doctype/quotation/quotation.js:315 +#: erpnext/selling/doctype/quotation/quotation.js:324 #: erpnext/selling/doctype/quotation_item/quotation_item.json msgid "Is Alternative" msgstr "" @@ -23308,9 +23336,11 @@ msgstr "" #. Label of the is_cancelled (Check) field in DocType 'GL Entry' #. Label of the is_cancelled (Check) field in DocType 'Serial and Batch Bundle' +#. Label of the is_cancelled (Check) field in DocType 'Serial and Batch Entry' #. Label of the is_cancelled (Check) field in DocType 'Stock Ledger Entry' #: erpnext/accounts/doctype/gl_entry/gl_entry.json #: 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_ledger_entry/stock_ledger_entry.json #: erpnext/stock/report/incorrect_serial_and_batch_bundle/incorrect_serial_and_batch_bundle.py:57 msgid "Is Cancelled" @@ -23721,12 +23751,18 @@ msgstr "" msgid "Is Subcontracted Item" msgstr "" +#. Label of the is_tax_withholding_account (Check) field in DocType 'Advance +#. Taxes and Charges' #. 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 +#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json msgid "Is Tax Withholding Account" msgstr "" @@ -23773,7 +23809,6 @@ msgstr "" #. Label of the complaint (Text Editor) field in DocType 'Warranty Claim' #. Title of the issues Web Form #. Label of a Link in the Support Workspace -#. Label of a shortcut in the Support Workspace #: erpnext/accounts/doctype/share_transfer/share_transfer.json #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset/asset_list.js:22 @@ -23873,11 +23908,11 @@ msgstr "" msgid "Issuing Date" msgstr "" -#: erpnext/stock/doctype/item/item.py:589 +#: erpnext/stock/doctype/item/item.py:608 msgid "It can take upto few hours for accurate stock values to be visible after merging items." msgstr "" -#: erpnext/public/js/controllers/transaction.js:2488 +#: erpnext/public/js/controllers/transaction.js:2509 msgid "It is needed to fetch Item Details." msgstr "" @@ -23903,7 +23938,6 @@ msgstr "" #. Label of the item (Link) field in DocType 'Tax Rule' #. Label of the item_code (Link) field in DocType 'Asset Repair Consumed Item' #. Label of a Link in the Buying Workspace -#. Label of a shortcut in the Buying Workspace #. Label of the items (Table) field in DocType 'Blanket Order' #. Label of the item (Link) field in DocType 'BOM' #. Label of a Link in the Manufacturing Workspace @@ -23911,7 +23945,6 @@ msgstr "" #. Specific Item' #. Label of the item_code (Link) field in DocType 'Product Bundle Item' #. Label of a Link in the Selling Workspace -#. Label of a shortcut in the Selling Workspace #. Option for the 'Customer or Item' (Select) field in DocType 'Authorization #. Rule' #. Label of a Link in the Home Workspace @@ -23921,7 +23954,6 @@ msgstr "" #. Label of the item_code (Link) field in DocType 'Pick List Item' #. Label of the item_code (Link) field in DocType 'Putaway Rule' #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: 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 @@ -23936,11 +23968,11 @@ msgstr "" #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:60 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.js:49 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:33 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:204 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:202 #: erpnext/buying/workspace/buying/buying.json -#: erpnext/controllers/taxes_and_totals.py:1221 +#: erpnext/controllers/taxes_and_totals.py:1206 #: erpnext/manufacturing/doctype/blanket_order/blanket_order.json -#: erpnext/manufacturing/doctype/bom/bom.js:1028 +#: erpnext/manufacturing/doctype/bom/bom.js:1057 #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:109 #: erpnext/manufacturing/doctype/workstation/workstation_job_card.html:25 @@ -23989,15 +24021,15 @@ msgstr "" #: erpnext/stock/report/item_variant_details/item_variant_details.js:10 #: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:53 #: erpnext/stock/report/product_bundle_balance/product_bundle_balance.js:24 -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:82 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:81 #: erpnext/stock/report/reserved_stock/reserved_stock.js:30 #: erpnext/stock/report/reserved_stock/reserved_stock.py:103 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:28 #: erpnext/stock/report/stock_ageing/stock_ageing.js:46 #: erpnext/stock/report/stock_analytics/stock_analytics.js:15 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:29 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:28 #: erpnext/stock/report/stock_balance/stock_balance.py:398 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:207 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:206 #: 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 @@ -24149,6 +24181,7 @@ msgstr "" #. Label of the item (Link) field in DocType 'Quick Stock Balance' #. Label of the item_code (Link) field in DocType 'Repost Item Valuation' #. Label of the item_code (Link) field in DocType 'Serial and Batch Bundle' +#. Label of the item_code (Link) field in DocType 'Serial and Batch Entry' #. Label of the item_code (Link) field in DocType 'Serial No' #. Label of the item_code (Link) field in DocType 'Stock Closing Balance' #. Label of the item_code (Link) field in DocType 'Stock Entry Detail' @@ -24178,7 +24211,7 @@ msgstr "" #: erpnext/accounts/doctype/pricing_rule_item_code/pricing_rule_item_code.json #: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.json #: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1056 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1074 #: 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:301 @@ -24226,21 +24259,21 @@ msgstr "" #: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.js:75 #: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py:166 #: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.js:30 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:935 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:971 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:934 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:970 #: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:364 #: 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:2783 +#: erpnext/public/js/controllers/transaction.js:2803 #: erpnext/public/js/stock_reservation.js:112 #: erpnext/public/js/stock_reservation.js:318 erpnext/public/js/utils.js:488 -#: erpnext/public/js/utils.js:644 +#: erpnext/public/js/utils.js:645 #: erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json #: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json #: erpnext/selling/doctype/installation_note_item/installation_note_item.json -#: erpnext/selling/doctype/quotation/quotation.js:289 +#: erpnext/selling/doctype/quotation/quotation.js:298 #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order/sales_order.js:368 #: erpnext/selling/doctype/sales_order/sales_order.js:476 @@ -24269,6 +24302,7 @@ msgstr "" #: erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.json #: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json #: 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/serial_no/serial_no.json #: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json @@ -24276,7 +24310,7 @@ msgstr "" #: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json #: erpnext/stock/doctype/stock_settings/stock_settings.json -#: erpnext/stock/report/available_batch_report/available_batch_report.py:22 +#: erpnext/stock/report/available_batch_report/available_batch_report.py:21 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.js:32 #: erpnext/stock/report/delayed_item_report/delayed_item_report.py:147 #: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:119 @@ -24289,7 +24323,7 @@ msgstr "" #: erpnext/stock/report/item_price_stock/item_price_stock.py:18 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:125 #: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.js:8 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:429 +#: 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:132 #: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:104 @@ -24301,6 +24335,7 @@ msgstr "" #: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:253 #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:352 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:508 #: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json #: erpnext/subcontracting/doctype/subcontracting_order_service_item/subcontracting_order_service_item.json #: erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json @@ -24323,11 +24358,11 @@ msgstr "" msgid "Item Code cannot be changed for Serial No." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:453 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:455 msgid "Item Code required at Row No {0}" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:849 +#: erpnext/selling/page/point_of_sale/pos_controller.js:822 #: erpnext/selling/page/point_of_sale/pos_item_details.js:275 msgid "Item Code: {0} is not available under warehouse {1}." msgstr "" @@ -24455,7 +24490,7 @@ msgstr "" #: erpnext/selling/doctype/party_specific_item/party_specific_item.json #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order_item/sales_order_item.json -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:188 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:212 #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.js:30 #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:35 #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js:54 @@ -24487,14 +24522,14 @@ msgstr "" #: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.js:20 #: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:55 #: erpnext/stock/report/product_bundle_balance/product_bundle_balance.js:37 -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:100 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:99 #: erpnext/stock/report/stock_ageing/stock_ageing.py:141 #: erpnext/stock/report/stock_analytics/stock_analytics.js:8 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:38 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:37 #: erpnext/stock/report/stock_balance/stock_balance.js:32 #: erpnext/stock/report/stock_balance/stock_balance.py:406 #: erpnext/stock/report/stock_ledger/stock_ledger.js:71 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:265 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:264 #: 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/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.js:33 @@ -24701,14 +24736,14 @@ msgstr "" #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py:23 #: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:106 #: erpnext/manufacturing/report/job_card_summary/job_card_summary.py:158 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:942 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:978 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:941 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:977 #: erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py:153 #: 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:2789 -#: erpnext/public/js/utils.js:734 +#: erpnext/public/js/controllers/transaction.js:2809 +#: erpnext/public/js/utils.js:736 #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order/sales_order.js:1247 #: erpnext/selling/doctype/sales_order_item/sales_order_item.json @@ -24735,7 +24770,7 @@ msgstr "" #: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json #: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json -#: erpnext/stock/report/available_batch_report/available_batch_report.py:33 +#: erpnext/stock/report/available_batch_report/available_batch_report.py:32 #: erpnext/stock/report/available_serial_no/available_serial_no.py:99 #: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:33 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:77 @@ -24745,11 +24780,11 @@ msgstr "" #: erpnext/stock/report/item_shortage_report/item_shortage_report.py:143 #: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:54 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:131 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:436 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:440 #: erpnext/stock/report/stock_ageing/stock_ageing.py:138 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:31 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:30 #: erpnext/stock/report/stock_balance/stock_balance.py:404 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:213 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:212 #: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:110 #: 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 @@ -24803,7 +24838,7 @@ msgstr "" msgid "Item Price Stock" msgstr "" -#: erpnext/stock/get_item_details.py:1101 +#: erpnext/stock/get_item_details.py:1098 msgid "Item Price added for {0} in Price List {1}" msgstr "" @@ -24811,7 +24846,7 @@ msgstr "" msgid "Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, Batch, UOM, Qty, and Dates." msgstr "" -#: erpnext/stock/get_item_details.py:1080 +#: erpnext/stock/get_item_details.py:1077 msgid "Item Price updated for {0} in Price List {1}" msgstr "" @@ -24986,17 +25021,17 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Stock Workspace -#: erpnext/stock/doctype/item/item.js:146 +#: erpnext/stock/doctype/item/item.js:151 #: erpnext/stock/doctype/item_variant_settings/item_variant_settings.json #: erpnext/stock/workspace/stock/stock.json msgid "Item Variant Settings" msgstr "" -#: erpnext/stock/doctype/item/item.js:895 +#: erpnext/stock/doctype/item/item.js:902 msgid "Item Variant {0} already exists with same attributes" msgstr "" -#: erpnext/stock/doctype/item/item.py:771 +#: erpnext/stock/doctype/item/item.py:790 msgid "Item Variants updated" msgstr "" @@ -25068,7 +25103,7 @@ msgstr "" msgid "Item Wise Tax Details" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:542 +#: erpnext/controllers/taxes_and_totals.py:536 msgid "Item Wise Tax Details do not match with Taxes and Charges at the following rows:" msgstr "" @@ -25085,11 +25120,11 @@ msgstr "" msgid "Item and Warranty Details" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3148 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3203 msgid "Item for row {0} does not match Material Request" msgstr "" -#: erpnext/stock/doctype/item/item.py:788 +#: erpnext/stock/doctype/item/item.py:807 msgid "Item has variants." msgstr "" @@ -25115,11 +25150,11 @@ msgstr "" msgid "Item operation" msgstr "" -#: erpnext/controllers/accounts_controller.py:3916 +#: erpnext/controllers/accounts_controller.py:3920 msgid "Item qty can not be updated as raw materials are already processed." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1074 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1085 msgid "Item rate has been updated to zero as Allow Zero Valuation Rate is checked for item {0}" msgstr "" @@ -25137,15 +25172,19 @@ msgstr "" msgid "Item valuation rate is recalculated considering landed cost voucher amount" msgstr "" -#: erpnext/stock/utils.py:559 +#: erpnext/stock/utils.py:531 msgid "Item valuation reposting in progress. Report might show incorrect item valuation." msgstr "" -#: erpnext/stock/doctype/item/item.py:945 +#: erpnext/stock/doctype/item/item.py:964 msgid "Item variant {0} exists with same attributes" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:85 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:97 +msgid "Item {0} added multiple times under the same parent item {1} at rows {2} and {3}" +msgstr "" + +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:108 msgid "Item {0} cannot be added as a sub-assembly of itself" msgstr "" @@ -25153,8 +25192,8 @@ msgstr "" msgid "Item {0} cannot be ordered more than {1} against Blanket Order {2}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:338 -#: erpnext/stock/doctype/item/item.py:635 +#: erpnext/assets/doctype/asset/asset.py:337 +#: erpnext/stock/doctype/item/item.py:654 msgid "Item {0} does not exist" msgstr "" @@ -25174,7 +25213,7 @@ msgstr "" msgid "Item {0} has already been returned" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:340 +#: erpnext/assets/doctype/asset/asset.py:339 msgid "Item {0} has been disabled" msgstr "" @@ -25182,11 +25221,11 @@ msgstr "" msgid "Item {0} has no Serial No. Only serialized items can have delivery based on Serial No" msgstr "" -#: erpnext/stock/doctype/item/item.py:1124 +#: erpnext/stock/doctype/item/item.py:1143 msgid "Item {0} has reached its end of life on {1}" msgstr "" -#: erpnext/stock/stock_ledger.py:118 +#: erpnext/stock/stock_ledger.py:116 msgid "Item {0} ignored since it is not a stock item" msgstr "" @@ -25194,11 +25233,11 @@ msgstr "" msgid "Item {0} is already reserved/delivered against Sales Order {1}." msgstr "" -#: erpnext/stock/doctype/item/item.py:1144 +#: erpnext/stock/doctype/item/item.py:1163 msgid "Item {0} is cancelled" msgstr "" -#: erpnext/stock/doctype/item/item.py:1128 +#: erpnext/stock/doctype/item/item.py:1147 msgid "Item {0} is disabled" msgstr "" @@ -25206,19 +25245,19 @@ msgstr "" msgid "Item {0} is not a serialized Item" msgstr "" -#: erpnext/stock/doctype/item/item.py:1136 +#: erpnext/stock/doctype/item/item.py:1155 msgid "Item {0} is not a stock Item" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:933 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:953 msgid "Item {0} is not a subcontracted item" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2055 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2068 msgid "Item {0} is not active or end of life has been reached" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:342 +#: erpnext/assets/doctype/asset/asset.py:341 msgid "Item {0} must be a Fixed Asset Item" msgstr "" @@ -25230,11 +25269,11 @@ msgstr "" msgid "Item {0} must be a Sub-contracted Item" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:344 +#: erpnext/assets/doctype/asset/asset.py:343 msgid "Item {0} must be a non-stock item" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1407 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1418 msgid "Item {0} not found in 'Raw Materials Supplied' table in {1} {2}" msgstr "" @@ -25242,7 +25281,7 @@ msgstr "" msgid "Item {0} not found." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:362 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:320 msgid "Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item)." msgstr "" @@ -25250,7 +25289,7 @@ msgstr "" msgid "Item {0}: {1} qty produced. " msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1434 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1433 msgid "Item {} does not exist." msgstr "" @@ -25267,9 +25306,7 @@ msgid "Item-wise Purchase History" msgstr "" #. Name of a report -#. Label of a Link in the Payables Workspace #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.json -#: erpnext/accounts/workspace/payables/payables.json msgid "Item-wise Purchase Register" msgstr "" @@ -25281,13 +25318,11 @@ msgid "Item-wise Sales History" msgstr "" #. Name of a report -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Item-wise Sales Register" msgstr "" -#: erpnext/stock/get_item_details.py:714 +#: erpnext/stock/get_item_details.py:711 msgid "Item/Item Code required to get Item Tax Template." msgstr "" @@ -25309,7 +25344,7 @@ msgstr "" msgid "Items Filter" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1653 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1673 #: erpnext/selling/doctype/sales_order/sales_order.js:1668 msgid "Items Required" msgstr "" @@ -25326,11 +25361,11 @@ msgstr "" msgid "Items and Pricing" msgstr "" -#: erpnext/controllers/accounts_controller.py:4169 +#: erpnext/controllers/accounts_controller.py:4177 msgid "Items cannot be updated as Subcontracting Inward Order(s) exist against this Subcontracted Sales Order." msgstr "" -#: erpnext/controllers/accounts_controller.py:4162 +#: erpnext/controllers/accounts_controller.py:4170 msgid "Items cannot be updated as Subcontracting Order is created against the Purchase Order {0}." msgstr "" @@ -25338,7 +25373,11 @@ msgstr "" msgid "Items for Raw Material Request" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1070 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:110 +msgid "Items not found." +msgstr "" + +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1081 msgid "Items rate has been updated to zero as Allow Zero Valuation Rate is checked for the following items: {0}" msgstr "" @@ -25348,7 +25387,7 @@ msgstr "" msgid "Items to Be Repost" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1652 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1672 msgid "Items to Manufacture are required to pull the Raw Materials associated with it." msgstr "" @@ -25401,7 +25440,6 @@ msgstr "" #. Option for the 'Transfer Material Against' (Select) field in DocType 'Work #. Order' #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #. Label of the job_card (Link) field in DocType 'Material Request' #. Option for the 'Reference Type' (Select) field in DocType 'Quality #. Inspection' @@ -25411,7 +25449,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:877 +#: erpnext/manufacturing/doctype/job_card/job_card.py:896 #: erpnext/manufacturing/doctype/operation/operation.json #: erpnext/manufacturing/doctype/work_order/work_order.js:396 #: erpnext/manufacturing/doctype/work_order/work_order.json @@ -25472,7 +25510,7 @@ msgstr "" msgid "Job Card and Capacity Planning" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1335 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1356 msgid "Job Card {0} has been completed" msgstr "" @@ -25548,7 +25586,7 @@ msgstr "" msgid "Job Worker Warehouse" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2575 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2581 msgid "Job card {0} created" msgstr "" @@ -25575,7 +25613,7 @@ msgstr "" msgid "Journal Entries" msgstr "" -#: erpnext/accounts/utils.py:1027 +#: erpnext/accounts/utils.py:1052 msgid "Journal Entries {0} are un-linked" msgstr "" @@ -25588,9 +25626,6 @@ msgstr "" #. Option for the 'Invoice Type' (Select) field in DocType 'Payment #. Reconciliation Invoice' #. Label of a Link in the Accounting Workspace -#. Label of a Link in the Payables Workspace -#. Label of a shortcut in the Payables Workspace -#. Label of a shortcut in the Receivables Workspace #. Group in Asset's connections #. Label of the journal_entry (Link) field in DocType 'Asset Value Adjustment' #. Label of the journal_entry (Link) field in DocType 'Depreciation Schedule' @@ -25600,10 +25635,8 @@ msgstr "" #: 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/accounting/accounting.json -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json -#: erpnext/assets/doctype/asset/asset.js:307 -#: erpnext/assets/doctype/asset/asset.js:316 +#: erpnext/assets/doctype/asset/asset.js:345 +#: erpnext/assets/doctype/asset/asset.js:354 #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.json #: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json @@ -25633,7 +25666,7 @@ msgstr "" msgid "Journal Entry Type" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:540 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:547 msgid "Journal Entry for Asset scrapping cannot be cancelled. Please restore the Asset." msgstr "" @@ -25642,11 +25675,11 @@ msgstr "" msgid "Journal Entry for Scrap" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:333 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:343 msgid "Journal Entry type should be set as Depreciation Entry for asset depreciation" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:695 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:717 msgid "Journal Entry {0} does not have account {1} or already matched against other voucher" msgstr "" @@ -25764,11 +25797,11 @@ msgstr "" msgid "Kilowatt-Hour" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:879 +#: erpnext/manufacturing/doctype/job_card/job_card.py:898 msgid "Kindly cancel the Manufacturing Entries first against the work order {0}." msgstr "" -#: erpnext/public/js/utils/party.js:268 +#: erpnext/public/js/utils/party.js:269 msgid "Kindly select the company first" msgstr "" @@ -25836,9 +25869,9 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Stock Workspace -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:667 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:646 #: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:95 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:88 #: erpnext/stock/workspace/stock/stock.json msgid "Landed Cost Voucher" msgstr "" @@ -25956,7 +25989,7 @@ msgstr "" msgid "Last Scanned Warehouse" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:332 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:331 msgid "Last Stock Transaction for item {0} under warehouse {1} was on {2}." msgstr "" @@ -25989,8 +26022,6 @@ msgstr "" #. Name of a DocType #. Option for the 'Status' (Select) field in DocType 'Lead' #. Label of the lead (Link) field in DocType 'Prospect Lead' -#. Label of a Link in the CRM Workspace -#. Label of a shortcut in the CRM Workspace #. Label of a Link in the Home Workspace #. Label of the lead (Link) field in DocType 'Issue' #: erpnext/crm/doctype/crm_settings/crm_settings.json @@ -26001,8 +26032,7 @@ msgstr "" #: erpnext/crm/report/lead_details/lead_details.py:18 #: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.js:8 #: erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py:28 -#: erpnext/crm/workspace/crm/crm.json erpnext/public/js/communication.js:25 -#: erpnext/setup/workspace/home/home.json +#: erpnext/public/js/communication.js:25 erpnext/setup/workspace/home/home.json #: erpnext/support/doctype/issue/issue.json msgid "Lead" msgstr "" @@ -26064,12 +26094,12 @@ msgstr "" #. Label of the lead_time (Float) field in DocType 'Work Order' #: erpnext/manufacturing/doctype/master_production_schedule_item/master_production_schedule_item.json #: erpnext/manufacturing/doctype/work_order/work_order.json -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1056 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1055 #: erpnext/stock/doctype/item/item_dashboard.py:35 msgid "Lead Time" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:266 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:264 msgid "Lead Time (Days)" msgstr "" @@ -26111,36 +26141,10 @@ msgstr "" msgid "Leads help you get business, add all your contacts and more as your leads" msgstr "" -#. Label of a shortcut in the Stock Workspace -#: erpnext/stock/workspace/stock/stock.json -msgid "Learn Inventory Management" -msgstr "" - -#. Label of a shortcut in the Manufacturing Workspace -#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json -msgid "Learn Manufacturing" -msgstr "" - -#. Label of a shortcut in the Buying Workspace -#: erpnext/buying/workspace/buying/buying.json -msgid "Learn Procurement" -msgstr "" - -#. Label of a shortcut in the Projects Workspace -#: erpnext/projects/workspace/projects/projects.json -msgid "Learn Project Management" -msgstr "" - -#. Label of a shortcut in the Selling Workspace -#: erpnext/selling/workspace/selling/selling.json -msgid "Learn Sales Management" -msgstr "" - #. Description of the 'Enable Common Party Accounting' (Check) field in DocType #. 'Accounts Settings' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -#, python-format -msgid "Learn about Common Party" +msgid "Learn about Common Party" msgstr "" #. Label of the leave_encashed (Select) field in DocType 'Employee' @@ -26192,6 +26196,10 @@ msgstr "" msgid "Ledger Merge Accounts" msgstr "" +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:146 +msgid "Ledger Type" +msgstr "" + #. Label of a Card Break in the Financial Reports Workspace #: erpnext/accounts/workspace/financial_reports/financial_reports.json msgid "Ledgers" @@ -26234,7 +26242,7 @@ msgstr "" msgid "Length (cm)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:886 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:897 msgid "Less Than Amount" msgstr "" @@ -26291,7 +26299,7 @@ msgstr "" msgid "License Plate" msgstr "" -#: erpnext/controllers/status_updater.py:467 +#: erpnext/controllers/status_updater.py:470 msgid "Limit Crossed" msgstr "" @@ -26339,12 +26347,12 @@ msgstr "" msgid "Link existing Quality Procedure." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:645 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:603 msgid "Link to Material Request" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:438 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:72 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:448 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:80 msgid "Link to Material Requests" msgstr "" @@ -26373,12 +26381,12 @@ msgstr "" msgid "Linked Location" msgstr "" -#: erpnext/stock/doctype/item/item.py:997 +#: erpnext/stock/doctype/item/item.py:1016 msgid "Linked with submitted documents" msgstr "" #: erpnext/buying/doctype/supplier/supplier.js:220 -#: erpnext/selling/doctype/customer/customer.js:279 +#: erpnext/selling/doctype/customer/customer.js:281 msgid "Linking Failed" msgstr "" @@ -26386,7 +26394,7 @@ msgstr "" msgid "Linking to Customer Failed. Please try again." msgstr "" -#: erpnext/selling/doctype/customer/customer.js:278 +#: erpnext/selling/doctype/customer/customer.js:280 msgid "Linking to Supplier Failed. Please try again." msgstr "" @@ -26571,8 +26579,13 @@ msgstr "" msgid "Lost Value %" 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 Accounting Workspace #. Name of a DocType +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/accounts/workspace/accounting/accounting.json #: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.json msgid "Lower Deduction Certificate" @@ -26646,7 +26659,7 @@ 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:1154 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1172 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/selling/doctype/customer/customer.json #: erpnext/selling/page/point_of_sale/pos_item_cart.js:952 @@ -26698,11 +26711,11 @@ msgstr "" msgid "MPS Generated" msgstr "" -#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:448 +#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:445 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:156 msgid "MT940 file detected. Please enable 'Import MT940 Format' to proceed." msgstr "" @@ -26726,10 +26739,10 @@ msgstr "" msgid "Machine operator errors" msgstr "" -#: erpnext/setup/doctype/company/company.py:726 -#: erpnext/setup/doctype/company/company.py:741 -#: erpnext/setup/doctype/company/company.py:742 -#: erpnext/setup/doctype/company/company.py:743 +#: erpnext/setup/doctype/company/company.py:733 +#: erpnext/setup/doctype/company/company.py:748 +#: erpnext/setup/doctype/company/company.py:749 +#: erpnext/setup/doctype/company/company.py:750 msgid "Main" msgstr "" @@ -26777,7 +26790,6 @@ msgstr "" #. Group in Asset's connections #. Label of a Card Break in the Assets Workspace -#. Label of a Card Break in the CRM Workspace #. Option for the 'Status' (Select) field in DocType 'Workstation' #. Option for the 'Order Type' (Select) field in DocType 'Quotation' #. Option for the 'Order Type' (Select) field in DocType 'Sales Order' @@ -26786,7 +26798,6 @@ msgstr "" #. Label of a Card Break in the Support Workspace #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/workspace/assets/assets.json -#: erpnext/crm/workspace/crm/crm.json #: erpnext/manufacturing/doctype/workstation/workstation.json #: erpnext/selling/doctype/quotation/quotation.json #: erpnext/selling/doctype/sales_order/sales_order.json @@ -26836,7 +26847,7 @@ msgstr "" #. Label of the maintenance_schedule (Link) field in DocType 'Maintenance #. Visit' #. Label of a Link in the Support Workspace -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:157 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:158 #: erpnext/crm/workspace/crm/crm.json #: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.json #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js:81 @@ -26943,7 +26954,6 @@ msgstr "" #. Label of a Link in the CRM Workspace #. Name of a DocType #. Label of a Link in the Support Workspace -#. Label of a shortcut in the Support Workspace #: erpnext/crm/workspace/crm/crm.json #: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js:87 #: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json @@ -26968,7 +26978,7 @@ msgid "Major/Optional Subjects" msgstr "" #. Label of the make (Data) field in DocType 'Vehicle' -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:109 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:123 #: erpnext/manufacturing/doctype/job_card/job_card.js:536 #: erpnext/manufacturing/doctype/work_order/work_order.js:808 #: erpnext/manufacturing/doctype/work_order/work_order.js:842 @@ -26991,7 +27001,7 @@ msgstr "" msgid "Make Difference Entry" msgstr "" -#: erpnext/stock/doctype/item/item.js:584 +#: erpnext/stock/doctype/item/item.js:591 msgid "Make Lead Time" msgstr "" @@ -27013,7 +27023,7 @@ msgstr "" msgid "Make Quotation" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:327 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:330 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:127 msgid "Make Return Entry" msgstr "" @@ -27030,7 +27040,7 @@ msgid "Make Serial No / Batch from Work Order" msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.js:101 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:253 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:256 msgid "Make Stock Entry" msgstr "" @@ -27046,15 +27056,15 @@ msgstr "" msgid "Make project from a template." msgstr "" -#: erpnext/stock/doctype/item/item.js:692 +#: erpnext/stock/doctype/item/item.js:699 msgid "Make {0} Variant" msgstr "" -#: erpnext/stock/doctype/item/item.js:694 +#: erpnext/stock/doctype/item/item.js:701 msgid "Make {0} Variants" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:168 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:172 msgid "Making Journal Entries against advance accounts: {0} is not recommended. These Journals won't be available for Reconciliation." msgstr "" @@ -27081,7 +27091,7 @@ msgstr "" msgid "Manage your orders" msgstr "" -#: erpnext/setup/doctype/company/company.py:490 +#: erpnext/setup/doctype/company/company.py:497 msgid "Management" msgstr "" @@ -27097,7 +27107,7 @@ msgstr "" msgid "Mandatory Accounting Dimension" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1805 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1881 msgid "Mandatory Field" msgstr "" @@ -27117,11 +27127,11 @@ msgstr "" msgid "Mandatory Missing" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:635 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:637 msgid "Mandatory Purchase Order" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:656 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:658 msgid "Mandatory Purchase Receipt" msgstr "" @@ -27138,14 +27148,11 @@ msgstr "" #. Finance Book' #. Option for the 'Update frequency of Project' (Select) field in DocType #. 'Buying Settings' -#. Option for the 'Forecasting Method' (Select) field in DocType 'Sales -#. Forecast' #. Option for the '% Complete Method' (Select) field in DocType 'Project' #: 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 #: erpnext/buying/doctype/buying_settings/buying_settings.json -#: erpnext/manufacturing/doctype/sales_forecast/sales_forecast.json #: erpnext/projects/doctype/project/project.json msgid "Manual" msgstr "" @@ -27199,8 +27206,8 @@ 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:1151 -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1167 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1162 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1178 #: 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 @@ -27344,7 +27351,7 @@ msgstr "" msgid "Manufacturing Manager" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2289 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2321 msgid "Manufacturing Quantity is mandatory" msgstr "" @@ -27414,7 +27421,7 @@ msgstr "" msgid "Mapping Subcontracting Order ..." msgstr "" -#: erpnext/public/js/utils.js:962 +#: erpnext/public/js/utils.js:970 msgid "Mapping {0} ..." msgstr "" @@ -27514,13 +27521,13 @@ msgstr "" msgid "Market Segment" msgstr "" -#: erpnext/setup/doctype/company/company.py:442 +#: erpnext/setup/doctype/company/company.py:449 msgid "Marketing" 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 -#: erpnext/setup/doctype/company/company.py:682 +#: erpnext/setup/doctype/company/company.py:689 msgid "Marketing Expenses" msgstr "" @@ -27566,12 +27573,12 @@ msgstr "" #. Option for the 'Purpose' (Select) field in DocType 'Stock Entry Type' #: erpnext/setup/setup_wizard/operations/install_fixtures.py:114 #: erpnext/stock/doctype/stock_entry/stock_entry.json -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1152 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1163 #: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json msgid "Material Consumption for Manufacture" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:537 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:559 msgid "Material Consumption is not set in Manufacturing Settings." msgstr "" @@ -27610,7 +27617,6 @@ msgstr "" #. Label of the material_request (Link) field in DocType 'Supplier Quotation #. Item' #. Label of a Link in the Buying Workspace -#. Label of a shortcut 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' #. Label of the material_request (Link) field in DocType 'Production Plan @@ -27627,17 +27633,16 @@ msgstr "" #. Item' #. Label of the material_request (Link) field in DocType 'Stock Entry Detail' #. Label of a Link in the Stock Workspace -#. Label of a shortcut 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' #: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json -#: erpnext/buying/doctype/purchase_order/purchase_order.js:582 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:540 #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:347 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:357 #: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:48 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:56 #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.js:33 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:184 @@ -27659,8 +27664,8 @@ msgstr "" #: 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 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:234 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:337 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:252 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:355 #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json #: erpnext/stock/workspace/stock/stock.json #: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json @@ -27738,7 +27743,7 @@ msgstr "" msgid "Material Request Type" msgstr "" -#: erpnext/selling/doctype/sales_order/sales_order.py:1795 +#: erpnext/selling/doctype/sales_order/sales_order.py:1823 msgid "Material Request not created, as quantity for Raw Materials already available." msgstr "" @@ -27752,7 +27757,7 @@ msgstr "" msgid "Material Request used to make this Stock Entry" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1310 +#: erpnext/controllers/subcontracting_controller.py:1309 msgid "Material Request {0} is cancelled or stopped" msgstr "" @@ -27768,13 +27773,13 @@ msgstr "" #. Label of the material_requests (Table) field in DocType 'Master Production #. Schedule' #. Label of the material_requests (Table) field in DocType 'Production Plan' -#: erpnext/accounts/doctype/budget/budget.py:624 +#: erpnext/accounts/doctype/budget/budget.py:622 #: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.json #: erpnext/manufacturing/doctype/production_plan/production_plan.json msgid "Material Requests" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:430 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:450 msgid "Material Requests Required" msgstr "" @@ -27861,16 +27866,16 @@ msgstr "" msgid "Material from Customer" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:431 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:536 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:389 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:649 msgid "Material to Supplier" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1531 +#: erpnext/controllers/subcontracting_controller.py:1544 msgid "Materials are already received against the {0} {1}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:733 +#: erpnext/manufacturing/doctype/job_card/job_card.py:752 msgid "Materials needs to be transferred to the work in progress warehouse for the job card {0}" msgstr "" @@ -27961,11 +27966,11 @@ msgstr "" msgid "Maximum Payment Amount" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3724 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3806 msgid "Maximum Samples - {0} can be retained for Batch {1} and Item {2}." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3715 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3797 msgid "Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}." msgstr "" @@ -28020,7 +28025,7 @@ msgstr "" msgid "Megawatt" msgstr "" -#: erpnext/stock/stock_ledger.py:2046 +#: erpnext/stock/stock_ledger.py:2013 msgid "Mention Valuation Rate in the Item master." msgstr "" @@ -28065,7 +28070,7 @@ msgstr "" msgid "Merge Similar Account Heads" msgstr "" -#: erpnext/public/js/utils.js:994 +#: erpnext/public/js/utils.js:1002 msgid "Merge taxes from multiple documents" msgstr "" @@ -28279,7 +28284,7 @@ msgid "Min Grade" msgstr "" #. Label of the min_order_qty (Float) field in DocType 'Material Request Item' -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1046 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1045 #: erpnext/stock/doctype/material_request_item/material_request_item.json msgid "Min Order Qty" msgstr "" @@ -28306,7 +28311,7 @@ msgstr "" msgid "Min Qty should be greater than Recurse Over Qty" msgstr "" -#: erpnext/stock/doctype/item/item.js:846 +#: erpnext/stock/doctype/item/item.js:853 msgid "Min Value: {0}, Max Value: {1}, in Increments of: {2}" msgstr "" @@ -28342,7 +28347,7 @@ msgstr "" msgid "Minimum Payment Amount" msgstr "" -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:97 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:96 msgid "Minimum Qty" msgstr "" @@ -28382,33 +28387,33 @@ msgstr "" msgid "Miscellaneous Expenses" msgstr "" -#: erpnext/controllers/buying_controller.py:709 +#: erpnext/controllers/buying_controller.py:702 msgid "Mismatch" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1435 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1434 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:595 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2345 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2948 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:597 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2421 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3024 #: erpnext/assets/doctype/asset_category/asset_category.py:116 msgid "Missing Account" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:405 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:430 msgid "Missing Asset" msgstr "" #: erpnext/accounts/doctype/gl_entry/gl_entry.py:186 -#: erpnext/assets/doctype/asset/asset.py:372 +#: erpnext/assets/doctype/asset/asset.py:371 msgid "Missing Cost Center" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1213 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1131 msgid "Missing Default in Company" msgstr "" @@ -28416,19 +28421,19 @@ msgstr "" msgid "Missing Filters" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:417 +#: erpnext/assets/doctype/asset/asset.py:416 msgid "Missing Finance Book" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1604 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1617 msgid "Missing Finished Good" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:304 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:308 msgid "Missing Formula" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:942 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:953 msgid "Missing Item" msgstr "" @@ -28444,12 +28449,12 @@ msgstr "" msgid "Missing email template for dispatch. Please set one in Delivery Settings." msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:223 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:229 msgid "Missing required filter: {0}" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1128 -#: erpnext/manufacturing/doctype/work_order/work_order.py:1446 +#: erpnext/manufacturing/doctype/bom/bom.py:1132 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1450 msgid "Missing value" msgstr "" @@ -28466,8 +28471,8 @@ msgstr "" #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:210 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:240 -#: erpnext/accounts/report/purchase_register/purchase_register.py:201 -#: erpnext/accounts/report/sales_register/sales_register.py:224 +#: erpnext/accounts/report/purchase_register/purchase_register.py:200 +#: erpnext/accounts/report/sales_register/sales_register.py:223 msgid "Mode Of Payment" msgstr "" @@ -28689,15 +28694,15 @@ msgstr "" msgid "Multi-level BOM Creator" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:393 +#: erpnext/selling/doctype/customer/customer.py:402 msgid "Multiple Loyalty Programs found for Customer {}. Please select manually." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1170 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1196 msgid "Multiple POS Opening Entry" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:346 +#: erpnext/accounts/doctype/pricing_rule/utils.py:345 msgid "Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}" msgstr "" @@ -28707,7 +28712,7 @@ msgstr "" msgid "Multiple Tier Program" msgstr "" -#: erpnext/stock/doctype/item/item.js:170 +#: erpnext/stock/doctype/item/item.js:175 msgid "Multiple Variants" msgstr "" @@ -28715,11 +28720,11 @@ msgstr "" msgid "Multiple Warehouse Accounts" msgstr "" -#: erpnext/controllers/accounts_controller.py:1299 +#: erpnext/controllers/accounts_controller.py:1303 msgid "Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1611 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1624 msgid "Multiple items cannot be marked as finished item" msgstr "" @@ -28728,10 +28733,10 @@ msgid "Music" msgstr "" #. Label of the must_be_whole_number (Check) field in DocType 'UOM' -#: erpnext/manufacturing/doctype/work_order/work_order.py:1393 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1397 #: erpnext/setup/doctype/uom/uom.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:267 -#: erpnext/utilities/transaction_base.py:563 +#: erpnext/utilities/transaction_base.py:566 msgid "Must be Whole Number" msgstr "" @@ -28762,7 +28767,7 @@ msgstr "" msgid "Name of Beneficiary" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:125 +#: erpnext/accounts/doctype/account/account_tree.js:126 msgid "Name of new Account. Note: Please don't create accounts for Customers and Suppliers" msgstr "" @@ -28804,7 +28809,7 @@ msgstr "" msgid "Naming Series and Price Defaults" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:94 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:93 msgid "Naming Series is mandatory" msgstr "" @@ -28843,15 +28848,15 @@ msgstr "" msgid "Needs Analysis" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:620 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:619 msgid "Negative Quantity is not allowed" msgstr "" -#: erpnext/stock/serial_batch_bundle.py:1509 +#: erpnext/stock/serial_batch_bundle.py:1569 msgid "Negative Stock Error" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:625 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:624 msgid "Negative Valuation Rate is not allowed" msgstr "" @@ -28988,7 +28993,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:184 msgid "Net Profit/Loss" msgstr "" @@ -28997,20 +29002,20 @@ msgstr "" #. Depreciation Schedule' #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:439 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:500 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:438 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:499 msgid "Net Purchase Amount" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:445 +#: erpnext/assets/doctype/asset/asset.py:444 msgid "Net Purchase Amount is mandatory" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:552 +#: erpnext/assets/doctype/asset/asset.py:554 msgid "Net Purchase Amount should be equal to purchase amount of one single Asset." msgstr "" -#: erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py:388 +#: erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py:387 msgid "Net Purchase Amount {0} cannot be depreciated over {1} cycles." msgstr "" @@ -29075,6 +29080,8 @@ msgstr "" #. 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' @@ -29102,8 +29109,9 @@ msgstr "" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/doctype/shipping_rule/shipping_rule.json #: erpnext/accounts/doctype/subscription/subscription.json -#: erpnext/accounts/report/purchase_register/purchase_register.py:253 -#: erpnext/accounts/report/sales_register/sales_register.py:285 +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +#: erpnext/accounts/report/purchase_register/purchase_register.py:252 +#: erpnext/accounts/report/sales_register/sales_register.py:284 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/selling/doctype/quotation/quotation.json @@ -29154,11 +29162,11 @@ msgstr "" msgid "Net Weight UOM" msgstr "" -#: erpnext/controllers/accounts_controller.py:1659 +#: erpnext/controllers/accounts_controller.py:1663 msgid "Net total calculation precision loss" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:123 +#: erpnext/accounts/doctype/account/account_tree.js:124 msgid "New Account Name" msgstr "" @@ -29200,7 +29208,7 @@ msgstr "" msgid "New Batch Qty" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:112 +#: erpnext/accounts/doctype/account/account_tree.js:113 #: erpnext/accounts/doctype/cost_center/cost_center_tree.js:18 #: erpnext/setup/doctype/company/company_tree.js:23 msgid "New Company" @@ -29250,6 +29258,11 @@ msgstr "" msgid "New Journal Entry will be posted for the difference amount. The Posting Date can be modified." msgstr "" +#. Label of a number card in the CRM Workspace +#: erpnext/crm/workspace/crm/crm.json +msgid "New Lead (Last 1 Month)" +msgstr "" + #: erpnext/assets/doctype/location/location_tree.js:23 msgid "New Location" msgstr "" @@ -29258,6 +29271,11 @@ msgstr "" msgid "New Note" msgstr "" +#. Label of a number card in the CRM Workspace +#: erpnext/crm/workspace/crm/crm.json +msgid "New Opportunity (Last 1 Month)" +msgstr "" + #. Label of the purchase_invoice (Check) field in DocType 'Email Digest' #: erpnext/setup/doctype/email_digest/email_digest.json msgid "New Purchase Invoice" @@ -29300,7 +29318,7 @@ msgstr "" msgid "New Task" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:178 +#: erpnext/manufacturing/doctype/bom/bom.js:206 msgid "New Version" msgstr "" @@ -29313,7 +29331,7 @@ msgstr "" msgid "New Workplace" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:362 +#: erpnext/selling/doctype/customer/customer.py:367 msgid "New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0}" msgstr "" @@ -29327,7 +29345,7 @@ msgstr "" 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:251 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:250 msgid "New release date should be in the future" msgstr "" @@ -29343,11 +29361,6 @@ msgstr "" msgid "New {0} pricing rules are created" msgstr "" -#. Label of a Link in the CRM Workspace -#: erpnext/crm/workspace/crm/crm.json -msgid "Newsletter" -msgstr "" - #: erpnext/setup/setup_wizard/data/industry_type.txt:34 msgid "Newspaper Publishers" msgstr "" @@ -29376,7 +29389,7 @@ msgstr "" msgid "No Account Data row found" msgstr "" -#: erpnext/setup/doctype/company/test_company.py:99 +#: erpnext/setup/doctype/company/test_company.py:98 msgid "No Account matched these filters: {}" msgstr "" @@ -29389,7 +29402,7 @@ msgstr "" msgid "No Answer" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2447 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2523 msgid "No Customer found for Inter Company Transactions which represents company {0}" msgstr "" @@ -29414,7 +29427,7 @@ msgstr "" msgid "No Item with Serial No {0}" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1445 +#: erpnext/controllers/subcontracting_controller.py:1458 msgid "No Items selected for transfer." msgstr "" @@ -29442,14 +29455,14 @@ msgstr "" msgid "No POS Profile found. Please create a New POS Profile first" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1766 -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1826 -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1840 -#: erpnext/stock/doctype/item/item.py:1369 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1564 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1624 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1638 +#: erpnext/stock/doctype/item/item.py:1388 msgid "No Permission" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:771 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:791 msgid "No Purchase Orders were created" msgstr "" @@ -29459,7 +29472,7 @@ msgid "No Records for these settings." msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:337 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1081 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1107 msgid "No Remarks" msgstr "" @@ -29467,7 +29480,7 @@ msgstr "" msgid "No Selection" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:858 +#: erpnext/controllers/sales_and_purchase_return.py:928 msgid "No Serial / Batches are available for return" msgstr "" @@ -29479,14 +29492,18 @@ msgstr "" msgid "No Summary" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2431 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2507 msgid "No Supplier found for Inter Company Transactions which represents company {0}" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:224 +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:101 msgid "No Tax Withholding data found for the current posting date." msgstr "" +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:109 +msgid "No Tax withholding account set for Company {0} in Tax Withholding Category {1}." +msgstr "" + #: erpnext/accounts/report/gross_profit/gross_profit.py:893 msgid "No Terms" msgstr "" @@ -29499,12 +29516,12 @@ msgstr "" msgid "No Unreconciled Payments found for this party" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:768 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:788 #: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:249 msgid "No Work Orders were created" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:828 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:826 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:860 msgid "No accounting entries for the following warehouses" msgstr "" @@ -29517,7 +29534,7 @@ msgstr "" msgid "No additional fields available" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1360 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1361 msgid "No available quantity to reserve for item {0} in warehouse {1}" msgstr "" @@ -29525,7 +29542,7 @@ msgstr "" msgid "No billing email found for customer: {0}" msgstr "" -#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:445 +#: erpnext/stock/doctype/delivery_trip/delivery_trip.py:449 msgid "No contacts with email IDs found." msgstr "" @@ -29541,7 +29558,7 @@ msgstr "" msgid "No description given" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:219 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:225 msgid "No difference found for stock account {0}" msgstr "" @@ -29549,20 +29566,20 @@ msgstr "" msgid "No employee was scheduled for call popup" msgstr "" -#: erpnext/controllers/subcontracting_controller.py:1354 +#: erpnext/controllers/subcontracting_controller.py:1353 msgid "No item available for transfer." msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:157 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:159 msgid "No items are available in sales orders {0} for production" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:154 -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:166 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:156 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:168 msgid "No items are available in the sales order {0} for production" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:351 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:401 msgid "No items found. Scan barcode again." msgstr "" @@ -29570,15 +29587,11 @@ msgstr "" msgid "No items in cart" msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:166 -msgid "No items to be received are overdue" -msgstr "" - -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:452 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:456 msgid "No matches occurred via auto reconciliation" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1015 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1035 msgid "No material request created" msgstr "" @@ -29656,11 +29669,11 @@ msgstr "" msgid "No of Workstations" msgstr "" -#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:323 +#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:320 msgid "No open Material Requests found for the given criteria." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1164 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1190 msgid "No open POS Opening Entry found for POS Profile {0}." msgstr "" @@ -29680,7 +29693,7 @@ msgstr "" msgid "No outstanding invoices require exchange rate revaluation" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2493 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2414 msgid "No outstanding {0} found for the {1} {2} which qualify the filters you have specified." msgstr "" @@ -29700,21 +29713,21 @@ msgstr "" msgid "No recent transactions found" msgstr "" -#: erpnext/accounts/report/purchase_register/purchase_register.py:45 -#: erpnext/accounts/report/sales_register/sales_register.py:46 +#: erpnext/accounts/report/purchase_register/purchase_register.py:44 +#: erpnext/accounts/report/sales_register/sales_register.py:45 #: erpnext/crm/report/lead_conversion_time/lead_conversion_time.py:18 msgid "No record found" msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:711 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:743 msgid "No records found in Allocation table" msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:610 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:620 msgid "No records found in the Invoices table" msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:613 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:623 msgid "No records found in the Payments table" msgstr "" @@ -29722,11 +29735,7 @@ msgstr "" msgid "No reserved stock to unreserve." msgstr "" -#: erpnext/manufacturing/doctype/sales_forecast/sales_forecast.py:117 -msgid "No sales data found for the selected items." -msgstr "" - -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:786 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:785 msgid "No stock ledger entries were created. Please set the quantity or valuation rate for the items properly and try again." msgstr "" @@ -29741,15 +29750,11 @@ msgstr "" msgid "No values" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:361 -msgid "No {0} Accounts found for this company." -msgstr "" - -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2495 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2571 msgid "No {0} found for Inter Company Transactions." msgstr "" -#: erpnext/assets/doctype/asset/asset.js:299 +#: erpnext/assets/doctype/asset/asset.js:337 msgid "No." msgstr "" @@ -29769,7 +29774,6 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Quality Workspace -#. Label of a shortcut in the Quality Workspace #: erpnext/quality_management/doctype/non_conformance/non_conformance.json #: erpnext/quality_management/workspace/quality/quality.json msgid "Non Conformance" @@ -29785,7 +29789,7 @@ msgstr "" msgid "Non Profit" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1518 +#: erpnext/manufacturing/doctype/bom/bom.py:1533 msgid "Non stock items" msgstr "" @@ -29798,13 +29802,13 @@ msgstr "" msgid "Non-Zeros" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:553 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:552 msgid "None of the items have any change in quantity or value." msgstr "" #. Name of a UOM -#: erpnext/setup/setup_wizard/data/uom_data.json erpnext/stock/utils.py:711 -#: erpnext/stock/utils.py:713 +#: erpnext/setup/setup_wizard/data/uom_data.json erpnext/stock/utils.py:683 +#: erpnext/stock/utils.py:685 msgid "Nos" msgstr "" @@ -29815,8 +29819,8 @@ msgstr "" msgid "Not Applicable" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:848 -#: erpnext/selling/page/point_of_sale/pos_controller.js:877 +#: erpnext/selling/page/point_of_sale/pos_controller.js:821 +#: erpnext/selling/page/point_of_sale/pos_controller.js:850 msgid "Not Available" msgstr "" @@ -29877,7 +29881,7 @@ msgstr "" msgid "Not allowed to create accounting dimension for {0}" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:269 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:268 msgid "Not allowed to update stock transactions older than {0}" msgstr "" @@ -29885,7 +29889,7 @@ msgstr "" msgid "Not authorized since {0} exceeds limits" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:432 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:430 msgid "Not authorized to edit frozen Account {0}" msgstr "" @@ -29897,7 +29901,7 @@ msgstr "" msgid "Not in stock" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1283 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1282 msgid "Not permitted to make Purchase Orders" msgstr "" @@ -29905,7 +29909,7 @@ msgstr "" msgid "Note: Automatic log deletion only applies to logs of type Update Cost" msgstr "" -#: erpnext/accounts/party.py:698 +#: erpnext/accounts/party.py:695 msgid "Note: Due Date exceeds allowed {0} credit days by {1} day(s)" msgstr "" @@ -29923,7 +29927,7 @@ msgstr "" msgid "Note: Item {0} added multiple times" msgstr "" -#: erpnext/controllers/accounts_controller.py:711 +#: erpnext/controllers/accounts_controller.py:709 msgid "Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified" msgstr "" @@ -29931,11 +29935,11 @@ msgstr "" msgid "Note: This Cost Center is a Group. Cannot make accounting entries against groups." msgstr "" -#: erpnext/stock/doctype/item/item.py:626 +#: erpnext/stock/doctype/item/item.py:645 msgid "Note: To merge the items, create a separate Stock Reconciliation for the old item {0}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:999 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1021 msgid "Note: {0}" msgstr "" @@ -30091,7 +30095,7 @@ msgstr "" msgid "Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:133 +#: erpnext/accounts/doctype/account/account_tree.js:134 msgid "Number of new Account, it will be included in the account name as a prefix" msgstr "" @@ -30206,7 +30210,7 @@ msgstr "" msgid "Oldest Of Invoice Or Advance" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1020 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1019 msgid "On Hand" msgstr "" @@ -30376,20 +30380,14 @@ msgstr "" msgid "Only leaf nodes are allowed in transaction" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:337 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:340 msgid "Only one of Deposit or Withdrawal should be non-zero when applying an Excluded Fee." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1166 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1177 msgid "Only one {0} entry can be created against the Work Order {1}" msgstr "" -#. Description of the 'Consider Entire Party Ledger Amount' (Check) field in -#. DocType 'Tax Withholding Category' -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json -msgid "Only payment entries with apply tax withholding unchecked will be considered for checking cumulative threshold breach" -msgstr "" - #. Description of the 'Customer Groups' (Table) field in DocType 'POS Profile' #: erpnext/accounts/doctype/pos_profile/pos_profile.json msgid "Only show Customer of these Customer Groups" @@ -30559,8 +30557,8 @@ msgstr "" #: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:166 #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:446 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:514 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:445 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:513 msgid "Opening Accumulated Depreciation" msgstr "" @@ -30617,7 +30615,7 @@ msgstr "" msgid "Opening Entry" msgstr "" -#: erpnext/accounts/general_ledger.py:802 +#: erpnext/accounts/general_ledger.py:818 msgid "Opening Entry can not be created after Period Closing Voucher is created." msgstr "" @@ -30628,7 +30626,7 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Accounting Workspace #. Label of a Link in the Home Workspace -#: erpnext/accounts/doctype/account/account_tree.js:205 +#: erpnext/accounts/doctype/account/account_tree.js:206 #: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json #: erpnext/accounts/workspace/accounting/accounting.json #: erpnext/setup/workspace/home/home.json @@ -30644,8 +30642,8 @@ msgstr "" msgid "Opening Invoice Item" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1644 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1914 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1646 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1990 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 "" @@ -30681,7 +30679,7 @@ msgstr "" #. Label of the opening_stock (Float) field in DocType 'Item' #. Option for the 'Purpose' (Select) field in DocType 'Stock Reconciliation' -#: erpnext/stock/doctype/item/item.json erpnext/stock/doctype/item/item.py:299 +#: erpnext/stock/doctype/item/item.json erpnext/stock/doctype/item/item.py:318 #: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json msgid "Opening Stock" msgstr "" @@ -30700,6 +30698,10 @@ msgstr "" msgid "Opening and Closing" msgstr "" +#: erpnext/stock/doctype/item/item.py:191 +msgid "Opening stock creation has been queued and will be created in the background. Please check the stock entry after some time." +msgstr "" + #. Label of the operating_component (Link) field in DocType 'Workstation Cost' #: erpnext/manufacturing/doctype/workstation_cost/workstation_cost.json msgid "Operating Component" @@ -30733,7 +30735,7 @@ msgstr "" msgid "Operating Cost Per BOM Quantity" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1602 +#: erpnext/manufacturing/doctype/bom/bom.py:1617 msgid "Operating Cost as per Work Order / BOM" msgstr "" @@ -30809,7 +30811,7 @@ msgstr "" msgid "Operation Time" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1452 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1456 msgid "Operation Time must be greater than 0 for Operation {0}" msgstr "" @@ -30828,7 +30830,7 @@ msgstr "" msgid "Operation {0} added multiple times in the work order {1}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1126 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1145 msgid "Operation {0} does not belong to the work order {1}" msgstr "" @@ -30846,7 +30848,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/work_order/work_order.js:314 #: erpnext/manufacturing/doctype/work_order/work_order.json -#: erpnext/setup/doctype/company/company.py:460 +#: erpnext/setup/doctype/company/company.py:467 #: erpnext/setup/doctype/email_digest/email_digest.json #: erpnext/templates/generators/bom.html:61 msgid "Operations" @@ -30858,7 +30860,7 @@ msgstr "" msgid "Operations Routing" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1137 +#: erpnext/manufacturing/doctype/bom/bom.py:1141 msgid "Operations cannot be left blank" msgstr "" @@ -30904,10 +30906,8 @@ msgstr "" #. Option for the 'Status' (Select) field in DocType 'Lead' #. Name of a DocType #. Label of the opportunity (Link) field in DocType 'Prospect Opportunity' -#. Label of a Link in the CRM Workspace -#. Label of a shortcut in the CRM Workspace #. Label of the opportunity (Link) field in DocType 'Quotation' -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:371 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:381 #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/crm/doctype/crm_settings/crm_settings.json @@ -30917,8 +30917,8 @@ msgstr "" #: erpnext/crm/doctype/prospect_opportunity/prospect_opportunity.json #: erpnext/crm/report/lead_details/lead_details.js:36 #: erpnext/crm/report/lost_opportunity/lost_opportunity.py:17 -#: erpnext/crm/workspace/crm/crm.json erpnext/public/js/communication.js:35 -#: erpnext/selling/doctype/quotation/quotation.js:146 +#: erpnext/public/js/communication.js:35 +#: erpnext/selling/doctype/quotation/quotation.js:155 #: erpnext/selling/doctype/quotation/quotation.json msgid "Opportunity" msgstr "" @@ -30972,7 +30972,7 @@ msgstr "" #. Label of the opportunity_owner (Link) field in DocType 'Opportunity' #: erpnext/crm/doctype/opportunity/opportunity.json #: erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py:32 -#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:66 +#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:65 msgid "Opportunity Owner" msgstr "" @@ -31016,15 +31016,15 @@ msgstr "" msgid "Optimize Route" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:182 +#: erpnext/accounts/doctype/account/account_tree.js:183 msgid "Optional. Sets company's default currency, if not specified." msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:161 +#: erpnext/accounts/doctype/account/account_tree.js:162 msgid "Optional. This setting will be used to filter in various transactions." msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:169 +#: erpnext/accounts/doctype/account/account_tree.js:170 msgid "Optional. Used with Financial Report Template" msgstr "" @@ -31230,6 +31230,11 @@ msgstr "" msgid "Other Settings" msgstr "" +#. Label of the tab_break_dpet (Tab Break) field in DocType 'Accounts Settings' +#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json +msgid "Others" +msgstr "" + #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Ounce" @@ -31263,7 +31268,7 @@ 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:479 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:244 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:243 msgid "Out Qty" msgstr "" @@ -31285,7 +31290,7 @@ msgstr "" msgid "Out of Order" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:580 +#: erpnext/stock/doctype/pick_list/pick_list.py:568 msgid "Out of Stock" msgstr "" @@ -31301,11 +31306,21 @@ msgstr "" msgid "Out of stock" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1177 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1203 #: erpnext/selling/page/point_of_sale/pos_controller.js:208 msgid "Outdated POS Opening Entry" msgstr "" +#. Label of a number card in the Accounting Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +msgid "Outgoing Bills" +msgstr "" + +#. Label of a number card in the Accounting Workspace +#: erpnext/accounts/workspace/accounting/accounting.json +msgid "Outgoing Payment" +msgstr "" + #. Label of the outgoing_rate (Float) field in DocType 'Serial and Batch Entry' #. Label of the outgoing_rate (Currency) field in DocType 'Stock Ledger Entry' #: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json @@ -31314,7 +31329,7 @@ msgid "Outgoing Rate" msgstr "" #. Label of the outstanding (Currency) field in DocType 'Overdue Payment' -#. Label of the outstanding_amount (Float) field in DocType 'Payment Entry +#. Label of the outstanding_amount (Currency) field in DocType 'Payment Entry #. Reference' #. Label of the outstanding (Currency) field in DocType 'Payment Schedule' #: erpnext/accounts/doctype/overdue_payment/overdue_payment.json @@ -31344,7 +31359,7 @@ msgstr "" #: erpnext/accounts/doctype/cashier_closing/cashier_closing.json #: erpnext/accounts/doctype/discounted_invoice/discounted_invoice.json #: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:878 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:889 #: erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json #: erpnext/accounts/doctype/payment_request/payment_request.json #: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:300 @@ -31353,10 +31368,10 @@ msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:149 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1220 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1224 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:167 -#: erpnext/accounts/report/purchase_register/purchase_register.py:289 -#: erpnext/accounts/report/sales_register/sales_register.py:319 +#: erpnext/accounts/report/purchase_register/purchase_register.py:288 +#: erpnext/accounts/report/sales_register/sales_register.py:318 msgid "Outstanding Amount" msgstr "" @@ -31368,7 +31383,7 @@ msgstr "" msgid "Outstanding Cheques and Deposits to clear" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:407 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:405 msgid "Outstanding for {0} cannot be less than zero ({1})" msgstr "" @@ -31392,7 +31407,7 @@ msgstr "" msgid "Over Billing Allowance (%)" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1286 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1309 msgid "Over Billing Allowance exceeded for Purchase Receipt Item {0} ({1}) by {2}%" msgstr "" @@ -31410,11 +31425,11 @@ msgstr "" msgid "Over Picking Allowance" msgstr "" -#: erpnext/controllers/stock_controller.py:1677 +#: erpnext/controllers/stock_controller.py:1687 msgid "Over Receipt" msgstr "" -#: erpnext/controllers/status_updater.py:472 +#: erpnext/controllers/status_updater.py:475 msgid "Over Receipt/Delivery of {0} {1} ignored for item {2} because you have {3} role." msgstr "" @@ -31429,11 +31444,16 @@ msgstr "" msgid "Over Transfer Allowance (%)" msgstr "" -#: erpnext/controllers/status_updater.py:474 +#. Option for the 'Status' (Select) field in DocType 'Tax Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Over Withheld" +msgstr "" + +#: erpnext/controllers/status_updater.py:477 msgid "Overbilling of {0} {1} ignored for item {2} because you have {3} role." msgstr "" -#: erpnext/controllers/accounts_controller.py:2175 +#: erpnext/controllers/accounts_controller.py:2179 msgid "Overbilling of {} ignored because you have {} role." msgstr "" @@ -31449,7 +31469,7 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:277 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:282 #: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.json #: erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.json #: erpnext/manufacturing/report/production_analytics/production_analytics.py:125 @@ -31523,7 +31543,7 @@ msgstr "" #: 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:236 +#: erpnext/accounts/report/sales_register/sales_register.py:235 #: erpnext/crm/report/lead_details/lead_details.py:45 msgid "Owner" msgstr "" @@ -31569,11 +31589,6 @@ msgstr "" msgid "PO Supplied Item" msgstr "" -#. Label of the pos_tab (Tab Break) field in DocType 'Accounts Settings' -#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -msgid "POS" -msgstr "" - #. Label of the invoice_fields (Table) field in DocType 'POS Settings' #: erpnext/accounts/doctype/pos_settings/pos_settings.json msgid "POS Additional Fields" @@ -31630,13 +31645,11 @@ msgstr "" #. Option for the 'Invoice Type Created via POS Screen' (Select) field in #. DocType 'POS Settings' #. Label of the pos_invoice (Link) field in DocType 'Sales Invoice Item' -#. Label of a shortcut in the Receivables Workspace #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/pos_invoice_reference/pos_invoice_reference.json #: erpnext/accounts/doctype/pos_settings/pos_settings.json #: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json #: erpnext/accounts/report/pos_register/pos_register.py:174 -#: erpnext/accounts/workspace/receivables/receivables.json msgid "POS Invoice" msgstr "" @@ -31705,7 +31718,7 @@ msgstr "" msgid "POS Opening Entry" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1178 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1204 msgid "POS Opening Entry - {0} is outdated. Please close the POS and create a new POS Opening Entry." msgstr "" @@ -31726,7 +31739,7 @@ msgstr "" msgid "POS Opening Entry Exists" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1163 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1189 msgid "POS Opening Entry Missing" msgstr "" @@ -31760,7 +31773,7 @@ msgstr "" msgid "POS Profile" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1171 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1197 msgid "POS Profile - {0} has multiple open POS Opening Entries. Please close or cancel the existing entries before proceeding." msgstr "" @@ -31778,11 +31791,11 @@ msgstr "" msgid "POS Profile doesn't match {}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1131 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1157 msgid "POS Profile is mandatory to mark this invoice as POS Transaction." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1355 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1386 msgid "POS Profile required to make POS Entry" msgstr "" @@ -31818,12 +31831,6 @@ msgstr "" msgid "POS Search Fields" msgstr "" -#. Label of the pos_setting_section (Section Break) field in DocType 'Accounts -#. Settings' -#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -msgid "POS Setting" -msgstr "" - #. Name of a DocType #. Label of a Link in the Selling Workspace #: erpnext/accounts/doctype/pos_settings/pos_settings.json @@ -31840,7 +31847,7 @@ msgstr "" msgid "POS has been closed at {0}. Please refresh the page." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:491 +#: erpnext/selling/page/point_of_sale/pos_controller.js:464 msgid "POS invoice {0} created successfully" msgstr "" @@ -31873,7 +31880,9 @@ msgstr "" msgid "Packaging Slip From Delivery Note" msgstr "" +#. Label of the packed_item (Data) field in DocType 'Material Request Item' #. Name of a DocType +#: erpnext/stock/doctype/material_request_item/material_request_item.json #: erpnext/stock/doctype/packed_item/packed_item.json msgid "Packed Item" msgstr "" @@ -31889,7 +31898,7 @@ msgstr "" msgid "Packed Items" msgstr "" -#: erpnext/controllers/stock_controller.py:1511 +#: erpnext/controllers/stock_controller.py:1521 msgid "Packed Items cannot be transferred internally" msgstr "" @@ -31947,7 +31956,7 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:283 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:288 msgid "Paid" msgstr "" @@ -31966,7 +31975,7 @@ msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:146 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1214 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1218 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:165 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:203 #: erpnext/accounts/report/pos_register/pos_register.py:209 @@ -32001,7 +32010,7 @@ msgstr "" msgid "Paid Amount After Tax (Company Currency)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2006 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1927 msgid "Paid Amount cannot be greater than total negative outstanding amount {0}" msgstr "" @@ -32016,7 +32025,7 @@ msgid "Paid To Account Type" msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:327 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1127 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1153 msgid "Paid amount + Write Off Amount can not be greater than Grand Total" msgstr "" @@ -32078,7 +32087,7 @@ msgstr "" msgid "Parcel Template Name" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:96 +#: erpnext/stock/doctype/shipment/shipment.py:97 msgid "Parcel weight cannot be 0" msgstr "" @@ -32106,7 +32115,7 @@ msgstr "" msgid "Parent Company" msgstr "" -#: erpnext/setup/doctype/company/company.py:595 +#: erpnext/setup/doctype/company/company.py:602 msgid "Parent Company must be a group company" msgstr "" @@ -32172,7 +32181,7 @@ msgstr "" msgid "Parent Row No" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:511 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:534 msgid "Parent Row No not found for {0}" msgstr "" @@ -32215,7 +32224,7 @@ msgstr "" msgid "Parent Warehouse" msgstr "" -#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:167 +#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:166 msgid "Parsed file is not in valid MT940 format or contains no transactions." msgstr "" @@ -32228,11 +32237,11 @@ msgstr "" msgid "Partial Material Transferred" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1150 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1176 msgid "Partial Payment in POS Transactions are not allowed." msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1723 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1724 msgid "Partial Stock Reservation" msgstr "" @@ -32242,6 +32251,12 @@ msgstr "" msgid "Partial stock can be reserved. For example, If you have a Sales Order of 100 units and the Available Stock is 90 units then a Stock Reservation Entry will be created for 90 units. " msgstr "" +#. Option for the 'Status' (Select) field in DocType 'Timesheet' +#: erpnext/projects/doctype/timesheet/timesheet.json +#: erpnext/projects/doctype/timesheet/timesheet_list.js:5 +msgid "Partially Billed" +msgstr "" + #. Option for the 'Completion Status' (Select) field in DocType 'Maintenance #. Schedule Detail' #. Option for the 'Completion Status' (Select) field in DocType 'Maintenance @@ -32393,6 +32408,7 @@ msgstr "" #. Label of the party (Dynamic Link) field in DocType 'Process Payment #. Reconciliation' #. Label of the party (Dynamic Link) field in DocType 'Subscription' +#. Label of the party (Dynamic Link) field in DocType 'Tax Withholding Entry' #. Label of the party (Data) field in DocType 'Unreconcile Payment Entries' #. Label of the party (Dynamic Link) field in DocType 'Appointment' #. Label of the party_name (Dynamic Link) field in DocType 'Opportunity' @@ -32413,13 +32429,14 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:196 #: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/doctype/tax_category/tax_category_dashboard.py:11 +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/accounts/doctype/unreconcile_payment_entries/unreconcile_payment_entries.json #: erpnext/accounts/report/accounts_payable/accounts_payable.js:94 #: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:71 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:142 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:159 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:54 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1151 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1155 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:71 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:147 #: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:228 @@ -32429,7 +32446,7 @@ msgstr "" #: erpnext/accounts/report/payment_ledger/payment_ledger.py:161 #: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js:46 #: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:89 -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.js:26 +#: 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/crm/doctype/appointment/appointment.json @@ -32445,7 +32462,7 @@ msgstr "" #. Name of a DocType #: erpnext/accounts/doctype/party_account/party_account.json -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1162 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1166 msgid "Party Account" msgstr "" @@ -32472,7 +32489,7 @@ msgstr "" msgid "Party Account No. (Bank Statement)" msgstr "" -#: erpnext/controllers/accounts_controller.py:2449 +#: erpnext/controllers/accounts_controller.py:2453 msgid "Party Account {0} currency ({1}) and document currency ({2}) should be same" msgstr "" @@ -32566,6 +32583,7 @@ msgstr "" #. Label of the party_type (Link) field in DocType 'Process Payment #. Reconciliation' #. Label of the party_type (Link) field in DocType 'Subscription' +#. Label of the party_type (Link) field in DocType 'Tax Withholding Entry' #. Label of the party_type (Data) field in DocType 'Unreconcile Payment #. Entries' #. Label of the party_type (Select) field in DocType 'Contract' @@ -32584,11 +32602,12 @@ msgstr "" #: erpnext/accounts/doctype/payment_request/payment_request.json #: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json #: erpnext/accounts/doctype/subscription/subscription.json +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/accounts/doctype/unreconcile_payment_entries/unreconcile_payment_entries.json #: erpnext/accounts/report/accounts_payable/accounts_payable.js:81 #: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:58 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:41 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1145 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1149 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:58 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:141 #: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:219 @@ -32610,7 +32629,7 @@ msgstr "" msgid "Party Type" msgstr "" -#: erpnext/accounts/party.py:827 +#: erpnext/accounts/party.py:824 msgid "Party Type and Party can only be set for Receivable / Payable account

    {0}" msgstr "" @@ -32622,8 +32641,8 @@ msgstr "" msgid "Party Type and Party is required for Receivable / Payable account {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:514 -#: erpnext/accounts/party.py:428 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:519 +#: erpnext/accounts/party.py:425 msgid "Party Type is mandatory" msgstr "" @@ -32632,11 +32651,11 @@ msgstr "" msgid "Party User" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:456 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:465 msgid "Party can only be one of {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:517 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:522 msgid "Party is mandatory" msgstr "" @@ -32663,8 +32682,6 @@ msgstr "" msgid "Passport Number" msgstr "" -#. Option for the 'Status' (Select) field in DocType 'Subscription' -#: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/doctype/subscription/subscription_list.js:10 msgid "Past Due Date" msgstr "" @@ -32732,16 +32749,14 @@ msgid "Payable" msgstr "" #: erpnext/accounts/report/accounts_payable/accounts_payable.js:39 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1160 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1164 #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:203 -#: erpnext/accounts/report/purchase_register/purchase_register.py:194 -#: erpnext/accounts/report/purchase_register/purchase_register.py:235 +#: erpnext/accounts/report/purchase_register/purchase_register.py:193 +#: erpnext/accounts/report/purchase_register/purchase_register.py:234 msgid "Payable Account" msgstr "" -#. Name of a Workspace #. Label of the payables (Check) field in DocType 'Email Digest' -#: erpnext/accounts/workspace/payables/payables.json #: erpnext/setup/doctype/email_digest/email_digest.json msgid "Payables" msgstr "" @@ -32762,10 +32777,10 @@ msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:119 #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py:20 #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js:55 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:96 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:97 #: erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py:25 #: erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js:42 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:463 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:421 #: erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py:24 #: erpnext/selling/doctype/sales_order/sales_order.js:1159 #: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:31 @@ -32842,7 +32857,7 @@ msgstr "" msgid "Payment Entries" msgstr "" -#: erpnext/accounts/utils.py:1114 +#: erpnext/accounts/utils.py:1139 msgid "Payment Entries {0} are un-linked" msgstr "" @@ -32856,10 +32871,6 @@ msgstr "" #. Option for the 'Payment Order Type' (Select) field in DocType 'Payment #. Order' #. Label of a Link in the Accounting Workspace -#. Label of a Link in the Payables Workspace -#. Label of a shortcut in the Payables Workspace -#. Label of a Link in the Receivables Workspace -#. Label of a shortcut in the Receivables Workspace #: erpnext/accounts/doctype/bank_clearance_detail/bank_clearance_detail.json #: erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.json #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json @@ -32870,8 +32881,6 @@ msgstr "" #: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:29 #: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html:8 #: erpnext/accounts/workspace/accounting/accounting.json -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Payment Entry" msgstr "" @@ -32885,20 +32894,20 @@ msgstr "" msgid "Payment Entry Reference" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:450 +#: erpnext/accounts/doctype/payment_request/payment_request.py:453 msgid "Payment Entry already exists" msgstr "" -#: erpnext/accounts/utils.py:613 +#: erpnext/accounts/utils.py:638 msgid "Payment Entry has been modified after you pulled it. Please pull it again." msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:128 -#: erpnext/accounts/doctype/payment_request/payment_request.py:553 +#: erpnext/accounts/doctype/payment_request/payment_request.py:131 +#: erpnext/accounts/doctype/payment_request/payment_request.py:556 msgid "Payment Entry is already created" msgstr "" -#: erpnext/controllers/accounts_controller.py:1610 +#: erpnext/controllers/accounts_controller.py:1614 msgid "Payment Entry {0} is linked against Order {1}, check if it should be pulled as advance in this invoice." msgstr "" @@ -32927,14 +32936,12 @@ msgstr "" #. Name of a DocType #. Label of the payment_gateway_account (Link) field in DocType 'Payment #. Request' -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json #: erpnext/accounts/doctype/payment_request/payment_request.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Payment Gateway Account" msgstr "" -#: erpnext/accounts/utils.py:1384 +#: erpnext/accounts/utils.py:1425 msgid "Payment Gateway Account not created, please create one manually." msgstr "" @@ -33041,12 +33048,8 @@ msgstr "" #. Name of a DocType #. Label of the payment_reconciliation (Table) field in DocType 'POS Closing #. Entry' -#. Label of a Link in the Payables Workspace -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json #: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Payment Reconciliation" msgstr "" @@ -33086,8 +33089,8 @@ msgstr "" msgid "Payment References" msgstr "" -#. Label of the payment_request_settings (Tab Break) field in DocType 'Accounts -#. Settings' +#. Label of the payment_request_section (Section Break) field in DocType +#. 'Accounts Settings' #. Label of the payment_request (Link) field in DocType 'Payment Entry #. Reference' #. Option for the 'Payment Order Type' (Select) field in DocType 'Payment @@ -33095,18 +33098,16 @@ msgstr "" #. Label of the payment_request (Link) field in DocType 'Payment Order #. Reference' #. Name of a DocType -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1702 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1713 #: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json #: erpnext/accounts/doctype/payment_order/payment_order.js:19 #: erpnext/accounts/doctype/payment_order/payment_order.json #: erpnext/accounts/doctype/payment_order_reference/payment_order_reference.json #: erpnext/accounts/doctype/payment_request/payment_request.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:135 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:134 -#: erpnext/accounts/workspace/receivables/receivables.json -#: erpnext/buying/doctype/purchase_order/purchase_order.js:471 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:135 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:429 #: erpnext/selling/doctype/sales_order/sales_order.js:1152 msgid "Payment Request" msgstr "" @@ -33123,17 +33124,11 @@ msgstr "" msgid "Payment Request Type" msgstr "" -#. Description of the 'Payment Request' (Tab Break) field in DocType 'Accounts -#. Settings' -#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -msgid "Payment Request created from Sales Order or Purchase Order will be in Draft status. When disabled document will be in unsaved state." -msgstr "" - -#: erpnext/accounts/doctype/payment_request/payment_request.py:626 +#: erpnext/accounts/doctype/payment_request/payment_request.py:629 msgid "Payment Request for {0}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:568 +#: erpnext/accounts/doctype/payment_request/payment_request.py:571 msgid "Payment Request is already created" msgstr "" @@ -33141,10 +33136,16 @@ msgstr "" msgid "Payment Request took too long to respond. Please try requesting for payment again." msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:541 +#: erpnext/accounts/doctype/payment_request/payment_request.py:544 msgid "Payment Requests cannot be created against: {0}" msgstr "" +#. Description of the 'Create in Draft Status' (Check) field in DocType +#. 'Accounts Settings' +#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json +msgid "Payment Requests made from Sales / Purchase Invoice will be put in Draft explicitly" +msgstr "" + #. Label of the payment_schedule (Data) field in DocType 'Overdue Payment' #. Name of a DocType #. Label of the payment_schedule (Table) field in DocType 'POS Invoice' @@ -33159,7 +33160,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/controllers/accounts_controller.py:2726 +#: erpnext/controllers/accounts_controller.py:2730 #: erpnext/selling/doctype/quotation/quotation.json #: erpnext/selling/doctype/sales_order/sales_order.json msgid "Payment Schedule" @@ -33181,7 +33182,7 @@ 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/accounts_receivable/accounts_receivable.py:1214 #: erpnext/accounts/report/gross_profit/gross_profit.py:438 #: erpnext/accounts/workspace/accounting/accounting.json #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:30 @@ -33278,7 +33279,7 @@ msgstr "" msgid "Payment Type" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:603 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:608 msgid "Payment Type must be one of Receive, Pay and Internal Transfer" msgstr "" @@ -33287,11 +33288,11 @@ msgstr "" msgid "Payment URL" msgstr "" -#: erpnext/accounts/utils.py:1102 +#: erpnext/accounts/utils.py:1127 msgid "Payment Unlink Error" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:867 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:889 msgid "Payment against {0} {1} cannot be greater than Outstanding Amount {2}" msgstr "" @@ -33320,7 +33321,7 @@ msgstr "" msgid "Payment request failed" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:817 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:822 msgid "Payment term {0} not used in {1}" msgstr "" @@ -33335,8 +33336,6 @@ msgstr "" #. Invoice' #. Label of the payments_tab (Tab Break) field in DocType 'Sales Invoice' #. Label of a Card Break in the Accounting Workspace -#. Label of a Card Break in the Payables Workspace -#. Label of a Card Break in the Receivables Workspace #. Option for the 'Hold Type' (Select) field in DocType 'Supplier' #: erpnext/accounts/doctype/cashier_closing/cashier_closing.json #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json @@ -33347,8 +33346,6 @@ msgstr "" #: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:27 #: erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py:43 #: erpnext/accounts/workspace/accounting/accounting.json -#: erpnext/accounts/workspace/payables/payables.json -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/buying/doctype/supplier/supplier_dashboard.py:12 #: erpnext/selling/doctype/customer/customer_dashboard.py:21 @@ -33377,7 +33374,7 @@ msgstr "" #. Option for the 'Status' (Select) field in DocType 'Timesheet' #: erpnext/projects/doctype/timesheet/timesheet.json -#: erpnext/projects/doctype/timesheet/timesheet_list.js:9 +#: erpnext/projects/doctype/timesheet/timesheet_list.js:13 msgid "Payslip" msgstr "" @@ -33452,11 +33449,11 @@ msgstr "" msgid "Pending Work Order" msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:182 +#: erpnext/setup/doctype/email_digest/email_digest.py:180 msgid "Pending activities for today" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:248 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:254 msgid "Pending processing" msgstr "" @@ -33555,7 +33552,7 @@ msgstr "" msgid "Period Based On" msgstr "" -#: erpnext/accounts/general_ledger.py:814 +#: erpnext/accounts/general_ledger.py:830 msgid "Period Closed" msgstr "" @@ -33580,11 +33577,11 @@ msgstr "" msgid "Period Closing Voucher" msgstr "" -#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:499 +#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py:498 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:477 msgid "Period Closing Voucher {0} GL Entry Processing Failed" msgstr "" @@ -33604,7 +33601,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:68 msgid "Period End Date cannot be greater than Fiscal Year End Date" msgstr "" @@ -33646,11 +33643,11 @@ msgstr "" 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:65 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:62 msgid "Period Start Date must be {0}" msgstr "" @@ -33679,7 +33676,7 @@ msgstr "" msgid "Periodic Accounting Entry" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:245 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:251 msgid "Periodic Accounting Entry is not allowed for company {0} with perpetual inventory enabled" msgstr "" @@ -33699,7 +33696,7 @@ 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:359 +#: erpnext/public/js/financial_statements.js:398 msgid "Periodicity" msgstr "" @@ -33870,7 +33867,7 @@ msgstr "" msgid "Pickup From" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:106 +#: erpnext/stock/doctype/shipment/shipment.py:107 msgid "Pickup To time should be greater than Pickup From time" msgstr "" @@ -34024,7 +34021,7 @@ msgstr "" msgid "Planned Operating Cost" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1026 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1025 msgid "Planned Purchase Order" msgstr "" @@ -34034,7 +34031,7 @@ msgstr "" #. Label of the planned_qty (Float) field in DocType 'Bin' #: erpnext/manufacturing/doctype/master_production_schedule_item/master_production_schedule_item.json #: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1014 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1013 #: erpnext/stock/doctype/bin/bin.json #: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:148 msgid "Planned Qty" @@ -34065,7 +34062,7 @@ msgstr "" msgid "Planned Start Time" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1031 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1030 msgid "Planned Work Order" msgstr "" @@ -34094,10 +34091,8 @@ msgstr "" #. Name of a DocType #. Label of the plant_floor (Link) field in DocType 'Workstation' -#. Label of a shortcut in the Manufacturing Workspace #: erpnext/manufacturing/doctype/plant_floor/plant_floor.json #: erpnext/manufacturing/doctype/workstation/workstation.json -#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json #: erpnext/public/js/plant_floor_visual/visual_plant.js:53 msgid "Plant Floor" msgstr "" @@ -34107,7 +34102,7 @@ msgstr "" msgid "Plants and Machineries" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:577 +#: erpnext/stock/doctype/pick_list/pick_list.py:565 msgid "Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List." msgstr "" @@ -34124,8 +34119,8 @@ msgstr "" msgid "Please Select a Customer" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:130 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:219 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:123 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:222 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:145 msgid "Please Select a Supplier" msgstr "" @@ -34138,11 +34133,11 @@ msgstr "" msgid "Please Set Supplier Group in Buying Settings." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1873 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1884 msgid "Please Specify Account" msgstr "" -#: erpnext/buying/doctype/supplier/supplier.py:126 +#: erpnext/buying/doctype/supplier/supplier.py:128 msgid "Please add 'Supplier' role to user {0}." msgstr "" @@ -34150,7 +34145,11 @@ msgstr "" msgid "Please add Mode of payments and opening balance details." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:185 +#: erpnext/manufacturing/doctype/bom/bom.js:24 +msgid "Please add Operations first." +msgstr "" + +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:200 msgid "Please add Request for Quotation to the sidebar in Portal Settings." msgstr "" @@ -34166,11 +34165,11 @@ msgstr "" msgid "Please add atleast one Serial No / Batch No" msgstr "" -#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:85 +#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:84 msgid "Please add the Bank Account column" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:243 +#: erpnext/accounts/doctype/account/account_tree.js:244 msgid "Please add the account to root level Company - {0}" msgstr "" @@ -34182,7 +34181,7 @@ msgstr "" msgid "Please add {1} role to user {0}." msgstr "" -#: erpnext/controllers/stock_controller.py:1688 +#: erpnext/controllers/stock_controller.py:1698 msgid "Please adjust the qty or edit {0} to proceed." msgstr "" @@ -34190,41 +34189,41 @@ msgstr "" msgid "Please attach CSV file" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3085 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3161 msgid "Please cancel and amend the Payment Entry" msgstr "" -#: erpnext/accounts/utils.py:1101 +#: erpnext/accounts/utils.py:1126 msgid "Please cancel payment entry manually first" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:328 -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:348 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:326 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:347 msgid "Please cancel related transaction." msgstr "" #: erpnext/assets/doctype/asset/asset.js:85 -#: erpnext/assets/doctype/asset/asset.py:248 +#: erpnext/assets/doctype/asset/asset.py:247 msgid "Please capitalize this asset before submitting." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:941 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:963 msgid "Please check Multi Currency option to allow accounts with other currency" msgstr "" -#: erpnext/accounts/deferred_revenue.py:544 +#: erpnext/accounts/deferred_revenue.py:541 msgid "Please check Process Deferred Accounting {0} and submit manually after resolving errors." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:87 +#: erpnext/manufacturing/doctype/bom/bom.js:105 msgid "Please check either with operations or FG Based Operating Cost." msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:524 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:531 msgid "Please check the error message and take necessary actions to fix the error and then restart the reposting again." msgstr "" -#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py:65 +#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py:64 msgid "Please check your Plaid client ID and secret values" msgstr "" @@ -34245,15 +34244,15 @@ msgstr "" msgid "Please click on 'Generate Schedule' to get schedule" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:585 +#: erpnext/selling/doctype/customer/customer.py:594 msgid "Please contact any of the following users to extend the credit limits for {0}: {1}" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:342 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:341 msgid "Please contact any of the following users to {} this transaction." msgstr "" -#: erpnext/selling/doctype/customer/customer.py:578 +#: erpnext/selling/doctype/customer/customer.py:587 msgid "Please contact your administrator to extend the credit limits for {0}." msgstr "" @@ -34273,15 +34272,15 @@ msgstr "" msgid "Please create a new Accounting Dimension if required." msgstr "" -#: erpnext/controllers/accounts_controller.py:804 +#: erpnext/controllers/accounts_controller.py:802 msgid "Please create purchase from internal sale or delivery document itself" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:455 +#: erpnext/assets/doctype/asset/asset.py:454 msgid "Please create purchase receipt or purchase invoice for the item {0}" msgstr "" -#: erpnext/stock/doctype/item/item.py:654 +#: erpnext/stock/doctype/item/item.py:673 msgid "Please delete Product Bundle {0}, before merging {1} into {2}" msgstr "" @@ -34289,7 +34288,7 @@ msgstr "" msgid "Please disable workflow temporarily for Journal Entry {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:556 +#: erpnext/assets/doctype/asset/asset.py:558 msgid "Please do not book expense of multiple assets against one single Asset." msgstr "" @@ -34297,11 +34296,11 @@ msgstr "" msgid "Please do not create more than 500 items at a time" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:182 +#: erpnext/accounts/doctype/budget/budget.py:180 msgid "Please enable Applicable on Booking Actual Expenses" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:178 +#: erpnext/accounts/doctype/budget/budget.py:176 msgid "Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses" msgstr "" @@ -34321,19 +34320,19 @@ msgstr "" msgid "Please enable {} in {} to allow same item in multiple rows" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:375 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:377 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:383 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:385 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:987 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1013 msgid "Please ensure {} account is a Balance Sheet account." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:997 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1023 msgid "Please ensure {} account {} is a Receivable account." msgstr "" @@ -34342,7 +34341,7 @@ msgid "Please enter Difference Account or set default Stock Adjustment msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:554 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1262 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1288 msgid "Please enter Account for Change Amount" msgstr "" @@ -34350,7 +34349,7 @@ msgstr "" msgid "Please enter Approving Role or Approving User" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:952 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:951 msgid "Please enter Cost Center" msgstr "" @@ -34362,7 +34361,7 @@ msgstr "" msgid "Please enter Employee Id of this sales person" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:961 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:960 msgid "Please enter Expense Account" msgstr "" @@ -34371,7 +34370,7 @@ msgstr "" msgid "Please enter Item Code to get Batch Number" msgstr "" -#: erpnext/public/js/controllers/transaction.js:2944 +#: erpnext/public/js/controllers/transaction.js:2964 msgid "Please enter Item Code to get batch no" msgstr "" @@ -34383,7 +34382,7 @@ msgstr "" msgid "Please enter Maintenance Details first" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:192 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:194 msgid "Please enter Planned Qty for Item {0} at row {1}" msgstr "" @@ -34403,7 +34402,7 @@ msgstr "" msgid "Please enter Receipt Document" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1005 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1027 msgid "Please enter Reference date" msgstr "" @@ -34415,7 +34414,7 @@ msgstr "" msgid "Please enter Serial Nos" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:85 +#: erpnext/stock/doctype/shipment/shipment.py:86 msgid "Please enter Shipment Parcel information" msgstr "" @@ -34423,8 +34422,8 @@ 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:1258 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:662 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1284 msgid "Please enter Write Off Account" msgstr "" @@ -34444,7 +34443,7 @@ msgstr "" msgid "Please enter company name first" msgstr "" -#: erpnext/controllers/accounts_controller.py:2952 +#: erpnext/controllers/accounts_controller.py:2956 msgid "Please enter default currency in Company Master" msgstr "" @@ -34464,7 +34463,7 @@ msgstr "" msgid "Please enter quantity for item {0}" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:184 +#: erpnext/setup/doctype/employee/employee.py:183 msgid "Please enter relieving date." msgstr "" @@ -34484,7 +34483,7 @@ msgstr "" msgid "Please enter the phone number first" msgstr "" -#: erpnext/controllers/buying_controller.py:1177 +#: erpnext/controllers/buying_controller.py:1170 msgid "Please enter the {schedule_date}." msgstr "" @@ -34492,19 +34491,19 @@ msgstr "" msgid "Please enter valid Financial Year Start and End Dates" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:222 +#: erpnext/setup/doctype/employee/employee.py:221 msgid "Please enter {0}" msgstr "" -#: erpnext/public/js/utils/party.js:321 +#: erpnext/public/js/utils/party.js:322 msgid "Please enter {0} first" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:430 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:450 msgid "Please fill the Material Requests table" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:341 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:343 msgid "Please fill the Sales Orders table" msgstr "" @@ -34524,7 +34523,7 @@ msgstr "" msgid "Please import accounts against parent company or enable {} in company master." msgstr "" -#: erpnext/setup/doctype/employee/employee.py:181 +#: erpnext/setup/doctype/employee/employee.py:180 msgid "Please make sure the employees above report to another Active employee." msgstr "" @@ -34536,12 +34535,12 @@ msgstr "" msgid "Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone." msgstr "" -#: erpnext/stock/doctype/item/item.js:597 +#: erpnext/stock/doctype/item/item.js:604 msgid "Please mention 'Weight UOM' along with Weight." msgstr "" -#: erpnext/accounts/general_ledger.py:648 -#: erpnext/accounts/general_ledger.py:655 +#: erpnext/accounts/general_ledger.py:664 +#: erpnext/accounts/general_ledger.py:671 msgid "Please mention '{0}' in Company: {1}" msgstr "" @@ -34549,7 +34548,7 @@ msgstr "" msgid "Please mention no of visits required" msgstr "" -#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:70 +#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:73 msgid "Please mention the Current and New BOM for replacement." msgstr "" @@ -34582,16 +34581,16 @@ msgstr "" msgid "Please select Template Type to download template" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:818 +#: erpnext/controllers/taxes_and_totals.py:803 #: erpnext/public/js/controllers/taxes_and_totals.js:781 msgid "Please select Apply Discount On" msgstr "" -#: erpnext/selling/doctype/sales_order/sales_order.py:1741 +#: erpnext/selling/doctype/sales_order/sales_order.py:1771 msgid "Please select BOM against item {0}" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:187 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:189 msgid "Please select BOM for Item in Row {0}" msgstr "" @@ -34607,13 +34606,13 @@ msgstr "" msgid "Please select Category first" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1484 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1495 #: erpnext/public/js/controllers/accounts.js:94 #: erpnext/public/js/controllers/accounts.js:145 msgid "Please select Charge Type first" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:459 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:480 msgid "Please select Company" msgstr "" @@ -34622,7 +34621,7 @@ msgstr "" msgid "Please select Company and Posting Date to getting entries" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:701 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:722 #: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:28 msgid "Please select Company first" msgstr "" @@ -34637,17 +34636,17 @@ msgstr "" msgid "Please select Customer first" msgstr "" -#: erpnext/setup/doctype/company/company.py:526 +#: erpnext/setup/doctype/company/company.py:533 msgid "Please select Existing Company for creating Chart of Accounts" msgstr "" #: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:210 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:314 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:322 msgid "Please select Finished Good Item for Service Item {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:630 -#: erpnext/assets/doctype/asset/asset.js:645 +#: erpnext/assets/doctype/asset/asset.js:714 +#: erpnext/assets/doctype/asset/asset.js:729 msgid "Please select Item Code first" msgstr "" @@ -34656,34 +34655,34 @@ msgid "Please select Maintenance Status as Completed or remove Completion Date" 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:32 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.js:31 #: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.js:32 #: 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 "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:251 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:257 msgid "Please select Periodic Accounting Entry Difference Account" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:498 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:507 msgid "Please select Posting Date before selecting Party" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:702 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:723 msgid "Please select Posting Date first" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1182 +#: erpnext/manufacturing/doctype/bom/bom.py:1186 msgid "Please select Price List" msgstr "" -#: erpnext/selling/doctype/sales_order/sales_order.py:1743 +#: erpnext/selling/doctype/sales_order/sales_order.py:1773 msgid "Please select Qty against item {0}" msgstr "" -#: erpnext/stock/doctype/item/item.py:320 +#: erpnext/stock/doctype/item/item.py:339 msgid "Please select Sample Retention Warehouse in Stock Settings first" msgstr "" @@ -34695,32 +34694,32 @@ msgstr "" msgid "Please select Start Date and End Date for Item {0}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:270 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:276 msgid "Please select Stock Asset Account" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1528 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1541 msgid "Please select Subcontracting Order instead of Purchase Order {0}" msgstr "" -#: erpnext/controllers/accounts_controller.py:2801 +#: erpnext/controllers/accounts_controller.py:2805 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:1430 +#: erpnext/manufacturing/doctype/bom/bom.py:1441 msgid "Please select a BOM" msgstr "" -#: erpnext/accounts/party.py:430 -#: erpnext/stock/doctype/pick_list/pick_list.py:1607 +#: erpnext/accounts/party.py:427 +#: erpnext/stock/doctype/pick_list/pick_list.py:1618 msgid "Please select a Company" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:267 -#: erpnext/manufacturing/doctype/bom/bom.js:648 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:268 +#: erpnext/manufacturing/doctype/bom/bom.js:677 #: erpnext/manufacturing/doctype/bom/bom.py:276 #: erpnext/public/js/controllers/accounts.js:277 -#: erpnext/public/js/controllers/transaction.js:3240 +#: erpnext/public/js/controllers/transaction.js:3257 msgid "Please select a Company first." msgstr "" @@ -34732,11 +34731,11 @@ msgstr "" msgid "Please select a Delivery Note" msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:163 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:171 msgid "Please select a Subcontracting Purchase Order." msgstr "" -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:83 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:91 msgid "Please select a Supplier" msgstr "" @@ -34744,7 +34743,7 @@ msgstr "" msgid "Please select a Warehouse" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1444 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1470 msgid "Please select a Work Order first." msgstr "" @@ -34752,7 +34751,7 @@ msgstr "" msgid "Please select a country" msgstr "" -#: erpnext/accounts/report/sales_register/sales_register.py:36 +#: erpnext/accounts/report/sales_register/sales_register.py:35 msgid "Please select a customer for fetching payments." msgstr "" @@ -34781,19 +34780,19 @@ msgstr "" msgid "Please select a row to create a Reposting Entry" msgstr "" -#: erpnext/accounts/report/purchase_register/purchase_register.py:35 +#: erpnext/accounts/report/purchase_register/purchase_register.py:34 msgid "Please select a supplier for fetching payments." msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:152 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:160 msgid "Please select a valid Purchase Order that has Service Items." msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:149 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:157 msgid "Please select a valid Purchase Order that is configured for Subcontracting." msgstr "" -#: erpnext/selling/doctype/quotation/quotation.js:237 +#: erpnext/selling/doctype/quotation/quotation.js:246 msgid "Please select a value for {0} quotation_to {1}" msgstr "" @@ -34821,7 +34820,7 @@ msgstr "" msgid "Please select atleast one operation to create Job Card" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1901 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1699 msgid "Please select correct account" msgstr "" @@ -34867,7 +34866,7 @@ msgstr "" msgid "Please select the Multiple Tier Program type for more than one collection rules." msgstr "" -#: erpnext/stock/doctype/item/item.js:316 +#: erpnext/stock/doctype/item/item.js:323 msgid "Please select the Warehouse first" msgstr "" @@ -34894,9 +34893,8 @@ msgstr "" msgid "Please select weekly off day" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1201 -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:606 -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:96 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1212 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:616 msgid "Please select {0} first" msgstr "" @@ -34912,7 +34910,7 @@ msgstr "" msgid "Please set 'Gain/Loss Account on Asset Disposal' in Company {0}" msgstr "" -#: erpnext/accounts/general_ledger.py:554 +#: erpnext/accounts/general_ledger.py:558 msgid "Please set '{0}' in Company: {1}" msgstr "" @@ -34920,7 +34918,7 @@ msgstr "" msgid "Please set Account" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1805 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1881 msgid "Please set Account for Change Amount" msgstr "" @@ -34942,7 +34940,7 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:58 #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:68 #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:78 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:777 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:785 msgid "Please set Company" msgstr "" @@ -34972,11 +34970,11 @@ msgstr "" msgid "Please set Fixed Asset Account in Asset Category {0}" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:592 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:594 msgid "Please set Fixed Asset Account in {} against {}." msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:256 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:279 msgid "Please set Parent Row No for item {0}" msgstr "" @@ -34998,7 +34996,7 @@ msgstr "" msgid "Please set Unrealized Exchange Gain/Loss Account in Company {0}" msgstr "" -#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:56 +#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:54 msgid "Please set VAT Accounts in {0}" msgstr "" @@ -35010,19 +35008,19 @@ msgstr "" msgid "Please set a Company" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:369 +#: erpnext/assets/doctype/asset/asset.py:368 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:731 +#: erpnext/projects/doctype/project/project.py:729 msgid "Please set a default Holiday List for Company {0}" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:273 +#: erpnext/setup/doctype/employee/employee.py:272 msgid "Please set a default Holiday List for Employee {0} or Company {1}" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1113 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1115 msgid "Please set account in Warehouse {0}" msgstr "" @@ -35051,23 +35049,23 @@ msgstr "" msgid "Please set both the Tax ID and Fiscal Code on Company {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2342 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2418 msgid "Please set default Cash or Bank account in Mode of Payment {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:2945 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3021 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:2947 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3023 msgid "Please set default Cash or Bank account in Mode of Payments {}" msgstr "" -#: erpnext/accounts/utils.py:2385 +#: erpnext/accounts/utils.py:2426 msgid "Please set default Exchange Gain/Loss Account in Company {}" msgstr "" @@ -35087,8 +35085,8 @@ msgstr "" msgid "Please set default inventory account for item {0}, or their item group or brand." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:274 -#: erpnext/accounts/utils.py:1123 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:277 +#: erpnext/accounts/utils.py:1148 msgid "Please set default {0} in Company {1}" msgstr "" @@ -35096,15 +35094,15 @@ msgstr "" msgid "Please set filter based on Item or Warehouse" msgstr "" -#: erpnext/controllers/accounts_controller.py:2365 +#: erpnext/controllers/accounts_controller.py:2369 msgid "Please set one of the following:" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:634 +#: erpnext/assets/doctype/asset/asset.py:639 msgid "Please set opening number of booked depreciations" msgstr "" -#: erpnext/public/js/controllers/transaction.js:2631 +#: erpnext/public/js/controllers/transaction.js:2652 msgid "Please set recurring after saving" msgstr "" @@ -35120,11 +35118,11 @@ msgstr "" msgid "Please set the Item Code first" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1507 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1533 msgid "Please set the Target Warehouse in the Job Card" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1511 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1537 msgid "Please set the WIP Warehouse in the Job Card" msgstr "" @@ -35155,15 +35153,15 @@ msgstr "" msgid "Please set {0} for address {1}" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:209 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:232 msgid "Please set {0} in BOM Creator {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1210 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1128 msgid "Please set {0} in Company {1} to account for Exchange Gain / Loss" msgstr "" -#: erpnext/controllers/accounts_controller.py:593 +#: erpnext/controllers/accounts_controller.py:591 msgid "Please set {0} to {1}, the same account that was used in the original invoice {2}." msgstr "" @@ -35180,12 +35178,12 @@ msgid "Please specify Company" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:120 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:440 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:518 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:419 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:522 msgid "Please specify Company to proceed" msgstr "" -#: erpnext/controllers/accounts_controller.py:3183 +#: erpnext/controllers/accounts_controller.py:3187 #: erpnext/public/js/controllers/accounts.js:117 msgid "Please specify a valid Row ID for row {0} in table {1}" msgstr "" @@ -35198,19 +35196,15 @@ msgstr "" msgid "Please specify at least one attribute in the Attributes table" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:615 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:614 msgid "Please specify either Quantity or Valuation Rate or both" msgstr "" -#: erpnext/stock/doctype/item_attribute/item_attribute.py:93 +#: erpnext/stock/doctype/item_attribute/item_attribute.py:92 msgid "Please specify from/to range" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:41 -msgid "Please supply the specified items at the best possible rates" -msgstr "" - -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:247 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:253 msgid "Please try again in an hour." msgstr "" @@ -35223,7 +35217,6 @@ msgid "Please update Repair Status." msgstr "" #. Label of a Card Break in the Selling Workspace -#. Label of a shortcut in the Selling Workspace #: erpnext/selling/page/point_of_sale/point_of_sale.js:6 #: erpnext/selling/workspace/selling/selling.json msgid "Point of Sale" @@ -35266,7 +35259,7 @@ msgstr "" msgid "Portal Users" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:393 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:403 msgid "Possible Supplier" msgstr "" @@ -35360,7 +35353,7 @@ msgstr "" #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.json #: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:865 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:876 #: erpnext/accounts/doctype/payment_entry/payment_entry.json #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json #: erpnext/accounts/doctype/payment_order/payment_order.json @@ -35376,7 +35369,7 @@ msgstr "" #: 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:1143 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1147 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:15 #: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:35 #: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html:7 @@ -35390,8 +35383,8 @@ msgstr "" #: erpnext/accounts/report/payment_ledger/payment_ledger.py:143 #: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:94 #: erpnext/accounts/report/pos_register/pos_register.py:172 -#: erpnext/accounts/report/purchase_register/purchase_register.py:169 -#: erpnext/accounts/report/sales_register/sales_register.py:185 +#: erpnext/accounts/report/purchase_register/purchase_register.py:168 +#: erpnext/accounts/report/sales_register/sales_register.py:184 #: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.json @@ -35417,9 +35410,8 @@ msgstr "" #: erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py:158 #: 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_and_batch_traceability/serial_no_and_batch_traceability.py:502 #: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:24 -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:116 +#: 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:144 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:36 #: erpnext/templates/form_grid/bank_reconciliation_grid.html:6 @@ -35432,12 +35424,12 @@ msgstr "" msgid "Posting Date Inheritance for Exchange Gain / Loss" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:271 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:269 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:142 msgid "Posting Date cannot be future date" msgstr "" -#: erpnext/public/js/controllers/transaction.js:992 +#: erpnext/public/js/controllers/transaction.js:1013 msgid "Posting Date will change to today's date as Edit Posting Date and Time is unchecked. Are you sure want to proceed?" msgstr "" @@ -35453,6 +35445,7 @@ msgstr "" #: erpnext/stock/doctype/serial_and_batch_entry/serial_and_batch_entry.json #: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json #: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:506 msgid "Posting Datetime" msgstr "" @@ -35491,14 +35484,14 @@ 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:25 -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:117 +#: 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:149 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:41 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json msgid "Posting Time" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2237 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2269 msgid "Posting date and posting time is mandatory" msgstr "" @@ -35639,7 +35632,7 @@ msgid "Preventive Maintenance" msgstr "" #. Label of the preview (Button) field in DocType 'Request for Quotation' -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:253 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:263 #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json msgid "Preview Email" msgstr "" @@ -35661,18 +35654,18 @@ 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:99 msgid "Previous Year is not closed, please close it first" msgstr "" #. Option for the 'Price or Product Discount' (Select) field in DocType #. 'Pricing Rule' #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:230 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:228 msgid "Price" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:244 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:242 msgid "Price ({0})" msgstr "" @@ -35768,7 +35761,7 @@ msgstr "" msgid "Price List Currency" msgstr "" -#: erpnext/stock/get_item_details.py:1274 +#: erpnext/stock/get_item_details.py:1271 msgid "Price List Currency not selected" msgstr "" @@ -35885,11 +35878,11 @@ msgstr "" msgid "Price Not UOM Dependent" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:251 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:249 msgid "Price Per Unit ({0})" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:720 +#: erpnext/selling/page/point_of_sale/pos_controller.js:693 msgid "Price is not set for the item." msgstr "" @@ -35907,7 +35900,7 @@ msgstr "" msgid "Price or product discount slabs are required" msgstr "" -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:237 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:235 msgid "Price per Unit (Stock UOM)" msgstr "" @@ -36049,7 +36042,7 @@ msgstr "" msgid "Pricing Rules are further filtered based on quantity." msgstr "" -#: erpnext/public/js/utils/contact_address_quick_entry.js:72 +#: erpnext/public/js/utils/contact_address_quick_entry.js:73 msgid "Primary Address Details" msgstr "" @@ -36062,7 +36055,7 @@ msgstr "" msgid "Primary Address and Contact" msgstr "" -#: erpnext/public/js/utils/contact_address_quick_entry.js:40 +#: erpnext/public/js/utils/contact_address_quick_entry.js:41 msgid "Primary Contact Details" msgstr "" @@ -36142,7 +36135,7 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:383 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:291 #: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.html:46 -#: erpnext/accounts/report/financial_statements.html:76 +#: erpnext/accounts/report/financial_statements.html:85 #: erpnext/accounts/report/general_ledger/general_ledger.html:180 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.html:127 msgid "Printed on {0}" @@ -36266,7 +36259,7 @@ msgstr "" msgid "Process Loss" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1165 +#: erpnext/manufacturing/doctype/bom/bom.py:1169 msgid "Process Loss Percentage cannot be greater than 100" msgstr "" @@ -36518,7 +36511,7 @@ 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:466 +#: erpnext/setup/doctype/company/company.py:473 msgid "Production" msgstr "" @@ -36552,7 +36545,6 @@ msgstr "" #. Name of a DocType #. Label of the production_plan (Link) field in DocType 'Work Order' #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #. Label of the production_plan (Link) field in DocType 'Material Request Item' #. Option for the 'Voucher Type' (Select) field in DocType 'Stock Reservation #. Entry' @@ -36570,7 +36562,7 @@ msgstr "" msgid "Production Plan" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:152 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:154 msgid "Production Plan Already Submitted" msgstr "" @@ -36639,7 +36631,6 @@ msgstr "" #. Name of a report #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #: erpnext/manufacturing/report/production_planning_report/production_planning_report.json #: erpnext/manufacturing/workspace/manufacturing/manufacturing.json msgid "Production Planning Report" @@ -36662,10 +36653,12 @@ msgstr "" #. Option for the 'Report Type' (Select) field in DocType 'Process Period #. Closing Voucher Detail' #. Label of a chart in the Accounting Workspace +#. Label of a chart in the Financial Reports Workspace #: erpnext/accounts/doctype/account/account.json #: erpnext/accounts/doctype/process_period_closing_voucher_detail/process_period_closing_voucher_detail.json #: erpnext/accounts/workspace/accounting/accounting.json -#: erpnext/public/js/financial_statements.js:272 +#: erpnext/accounts/workspace/financial_reports/financial_reports.json +#: erpnext/public/js/financial_statements.js:311 msgid "Profit and Loss" msgstr "" @@ -36687,8 +36680,8 @@ msgstr "" msgid "Profit and Loss Summary" msgstr "" -#: 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:143 +#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:140 +#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:141 msgid "Profit for the year" msgstr "" @@ -36713,7 +36706,7 @@ msgstr "" msgid "Progress (%)" msgstr "" -#: erpnext/projects/doctype/project/project.py:370 +#: erpnext/projects/doctype/project/project.py:368 msgid "Project Collaboration Invitation" msgstr "" @@ -36755,7 +36748,7 @@ msgstr "" msgid "Project Summary" msgstr "" -#: erpnext/projects/doctype/project/project.py:669 +#: erpnext/projects/doctype/project/project.py:667 msgid "Project Summary for {0}" msgstr "" @@ -36875,7 +36868,7 @@ msgstr "" #. Name of a Workspace #. Label of a Card Break in the Projects Workspace -#: erpnext/config/projects.py:7 erpnext/projects/doctype/project/project.py:447 +#: erpnext/config/projects.py:7 erpnext/projects/doctype/project/project.py:445 #: erpnext/projects/workspace/projects/projects.json #: erpnext/selling/doctype/customer/customer_dashboard.py:26 #: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:28 @@ -37016,7 +37009,7 @@ msgstr "" msgid "Providing" msgstr "" -#: erpnext/setup/doctype/company/company.py:565 +#: erpnext/setup/doctype/company/company.py:572 msgid "Provisional Account" msgstr "" @@ -37082,7 +37075,7 @@ 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:454 erpnext/setup/install.py:346 +#: erpnext/setup/doctype/company/company.py:461 erpnext/setup/install.py:346 #: erpnext/stock/doctype/item/item.json #: erpnext/stock/doctype/item_lead_time/item_lead_time.json #: erpnext/stock/doctype/item_reorder/item_reorder.json @@ -37101,7 +37094,6 @@ msgstr "" #. Name of a report #. Label of a Link in the Buying Workspace -#. Label of a shortcut in the Buying Workspace #: erpnext/buying/report/purchase_analytics/purchase_analytics.json #: erpnext/buying/workspace/buying/buying.json msgid "Purchase Analytics" @@ -37110,7 +37102,7 @@ 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 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:491 msgid "Purchase Date" msgstr "" @@ -37161,8 +37153,6 @@ msgstr "" #. Option for the 'Invoice Type' (Select) field in DocType 'Payment #. Reconciliation Invoice' #. Name of a DocType -#. Label of a Link in the Payables Workspace -#. Label of a shortcut in the Payables Workspace #. Label of the purchase_invoice (Link) field in DocType 'Asset' #. Label of the purchase_invoice (Link) field in DocType 'Asset Repair Purchase #. Invoice' @@ -37183,10 +37173,9 @@ msgstr "" #: erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html:5 #: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.js:22 #: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:53 -#: erpnext/accounts/workspace/payables/payables.json #: erpnext/assets/doctype/asset/asset.json #: erpnext/assets/doctype/asset_repair_purchase_invoice/asset_repair_purchase_invoice.json -#: erpnext/buying/doctype/purchase_order/purchase_order.js:454 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:412 #: erpnext/buying/doctype/purchase_order/purchase_order_list.js:63 #: erpnext/buying/doctype/supplier_quotation/supplier_quotation_list.js:21 #: erpnext/buying/workspace/buying/buying.json @@ -37194,12 +37183,12 @@ msgstr "" #: erpnext/setup/doctype/authorization_rule/authorization_rule.json #: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json #: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:125 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:260 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:118 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:263 #: erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js:30 #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json #: erpnext/stock/doctype/quality_inspection/quality_inspection.json -#: erpnext/stock/doctype/stock_entry/stock_entry.js:318 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:336 msgid "Purchase Invoice" msgstr "" @@ -37229,16 +37218,16 @@ msgstr "" msgid "Purchase Invoice Trends" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:331 +#: erpnext/assets/doctype/asset/asset.py:330 msgid "Purchase Invoice cannot be made against an existing asset {0}" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:448 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:462 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:446 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:460 msgid "Purchase Invoice {0} is already submitted" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:2029 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1935 msgid "Purchase Invoices" msgstr "" @@ -37250,7 +37239,6 @@ msgstr "" #. Label of the purchase_order (Link) field in DocType 'Purchase Receipt Item #. Supplied' #. Label of a Link in the Buying Workspace -#. Label of a shortcut in the Buying Workspace #. Option for the 'Document Type' (Select) field in DocType 'Contract' #. Label of the purchase_order (Link) field in DocType 'Production Plan Sub #. Assembly Item' @@ -37267,17 +37255,17 @@ msgstr "" #: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json #: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:231 -#: erpnext/accounts/report/purchase_register/purchase_register.py:216 +#: erpnext/accounts/report/purchase_register/purchase_register.py:215 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:31 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:39 #: erpnext/buying/doctype/supplier_quotation/supplier_quotation_list.js:15 #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:79 #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:82 #: 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:908 +#: erpnext/controllers/buying_controller.py:901 #: 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 @@ -37287,7 +37275,7 @@ msgstr "" #: 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:184 -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:214 +#: 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 #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json @@ -37303,12 +37291,9 @@ msgstr "" msgid "Purchase Order Amount(Company Currency)" msgstr "" -#. Label of a Link in the Payables Workspace #. Name of a report #. Label of a Link in the Buying Workspace -#. Label of a shortcut in the Buying Workspace #. Label of a Link in the Stock Workspace -#: erpnext/accounts/workspace/payables/payables.json #: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.json #: erpnext/buying/workspace/buying/buying.json #: erpnext/stock/workspace/stock/stock.json @@ -37364,11 +37349,11 @@ msgstr "" msgid "Purchase Order Pricing Rule" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:631 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:633 msgid "Purchase Order Required" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:626 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:628 msgid "Purchase Order Required for item {}" msgstr "" @@ -37384,19 +37369,19 @@ msgstr "" msgid "Purchase Order already created for all Sales Order items" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:337 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:335 msgid "Purchase Order number required for Item {0}" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1343 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1342 msgid "Purchase Order {0} created" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:669 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:671 msgid "Purchase Order {0} is not submitted" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:931 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:878 msgid "Purchase Orders" msgstr "" @@ -37411,7 +37396,7 @@ msgstr "" msgid "Purchase Orders Items Overdue" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:323 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:281 msgid "Purchase Orders are not allowed for {0} due to a scorecard standing of {1}." msgstr "" @@ -37426,7 +37411,7 @@ msgstr "" msgid "Purchase Orders to Receive" msgstr "" -#: erpnext/controllers/accounts_controller.py:2007 +#: erpnext/controllers/accounts_controller.py:2011 msgid "Purchase Orders {0} are un-linked" msgstr "" @@ -37448,18 +37433,17 @@ msgstr "" #. Option for the 'From Voucher Type' (Select) field in DocType 'Stock #. Reservation Entry' #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:170 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:643 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:653 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:622 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:632 #: 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:238 -#: erpnext/accounts/report/purchase_register/purchase_register.py:223 +#: erpnext/accounts/report/purchase_register/purchase_register.py:222 #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.js:22 #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:21 #: erpnext/assets/doctype/asset/asset.json -#: erpnext/buying/doctype/purchase_order/purchase_order.js:421 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:379 #: erpnext/buying/doctype/purchase_order/purchase_order_list.js:69 #: erpnext/setup/doctype/authorization_rule/authorization_rule.json #: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json @@ -37508,11 +37492,11 @@ msgstr "" msgid "Purchase Receipt No" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:652 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:654 msgid "Purchase Receipt Required" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:647 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:649 msgid "Purchase Receipt Required for item {}" msgstr "" @@ -37525,26 +37509,24 @@ msgstr "" msgid "Purchase Receipt Trends" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:355 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:358 msgid "Purchase Receipt doesn't have any Item for which Retain Sample is enabled." msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1052 +#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1051 msgid "Purchase Receipt {0} created." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:676 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:678 msgid "Purchase Receipt {0} is not submitted" msgstr "" #. Name of a report -#. Label of a Link in the Payables Workspace #: erpnext/accounts/report/purchase_register/purchase_register.json -#: erpnext/accounts/workspace/payables/payables.json msgid "Purchase Register" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:250 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:253 msgid "Purchase Return" msgstr "" @@ -37554,6 +37536,12 @@ msgstr "" msgid "Purchase Tax Template" msgstr "" +#. Label of the purchase_tax_withholding_category (Link) field in DocType +#. 'Item' +#: erpnext/stock/doctype/item/item.json +msgid "Purchase Tax Withholding Category" +msgstr "" + #. Label of the taxes (Table) field in DocType 'Purchase Invoice' #. Name of a DocType #. Label of the taxes (Table) field in DocType 'Purchase Taxes and Charges @@ -37620,7 +37608,7 @@ msgstr "" msgid "Purchased" msgstr "" -#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:146 +#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:144 msgid "Purchases" msgstr "" @@ -37643,7 +37631,7 @@ msgstr "" #: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.js:163 #: erpnext/stock/doctype/material_request/material_request.json #: erpnext/stock/doctype/pick_list/pick_list.json -#: erpnext/stock/doctype/stock_entry/stock_entry.js:353 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:371 #: erpnext/stock/doctype/stock_entry/stock_entry.json #: erpnext/stock/doctype/stock_entry_type/stock_entry_type.json #: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json @@ -37715,7 +37703,7 @@ msgstr "" #: erpnext/controllers/trends.py:268 erpnext/controllers/trends.py:280 #: erpnext/controllers/trends.py:285 #: erpnext/crm/doctype/opportunity_item/opportunity_item.json -#: erpnext/manufacturing/doctype/bom/bom.js:1048 +#: erpnext/manufacturing/doctype/bom/bom.js:1077 #: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json #: erpnext/manufacturing/doctype/bom_item/bom_item.json #: erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.json @@ -37731,7 +37719,7 @@ msgstr "" #: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:398 #: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:499 #: erpnext/public/js/stock_reservation.js:134 -#: erpnext/public/js/stock_reservation.js:336 erpnext/public/js/utils.js:771 +#: erpnext/public/js/stock_reservation.js:336 erpnext/public/js/utils.js:773 #: 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:390 @@ -37834,18 +37822,18 @@ msgstr "" #. Label of the for_quantity (Float) field in DocType 'Job Card' #. Label of the qty (Float) field in DocType 'Work Order' -#: erpnext/manufacturing/doctype/bom/bom.js:337 +#: erpnext/manufacturing/doctype/bom/bom.js:366 #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/doctype/work_order/work_order.json #: erpnext/manufacturing/report/process_loss_report/process_loss_report.py:82 msgid "Qty To Manufacture" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1389 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1393 msgid "Qty To Manufacture ({0}) cannot be a fraction for the UOM {2}. To allow this, disable '{1}' in the UOM {2}." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:224 +#: erpnext/manufacturing/doctype/job_card/job_card.py:228 msgid "Qty To Manufacture in the job card cannot be greater than Qty To Manufacture in the work order for the operation {0}.

    Solution: Either you can reduce the Qty To Manufacture in the job card or set the 'Overproduction Percentage For Work Order' in the {1}." msgstr "" @@ -37914,7 +37902,7 @@ msgstr "" msgid "Qty of Finished Goods Item" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:624 +#: erpnext/stock/doctype/pick_list/pick_list.py:612 msgid "Qty of Finished Goods Item should be greater than 0." msgstr "" @@ -37948,7 +37936,7 @@ msgid "Qty to Fetch" msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.js:304 -#: erpnext/manufacturing/doctype/job_card/job_card.py:769 +#: erpnext/manufacturing/doctype/job_card/job_card.py:788 msgid "Qty to Manufacture" msgstr "" @@ -37968,6 +37956,7 @@ msgstr "" #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:171 #: 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 "" @@ -38014,7 +38003,6 @@ msgstr "" #. Option for the 'Document Type' (Select) field in DocType 'Quality Meeting #. Minutes' #. Label of a Link in the Quality Workspace -#. Label of a shortcut in the Quality Workspace #: erpnext/quality_management/doctype/quality_action/quality_action.json #: erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.json #: erpnext/quality_management/workspace/quality/quality.json @@ -38055,7 +38043,6 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Quality Workspace -#. Label of a shortcut in the Quality Workspace #: erpnext/quality_management/doctype/quality_goal/quality_goal.json #: erpnext/quality_management/workspace/quality/quality.json msgid "Quality Goal" @@ -38075,7 +38062,7 @@ msgstr "" #. Label of the quality_inspection (Link) field in DocType 'Job Card' #. Label of the quality_inspection_section (Section Break) field in DocType #. 'Job Card' -#. Label of a shortcut in the Quality Workspace +#. 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' @@ -38088,7 +38075,7 @@ msgstr "" #: 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 -#: erpnext/manufacturing/doctype/bom/bom.js:208 +#: erpnext/manufacturing/doctype/bom/bom.js:236 #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/quality_management/workspace/quality/quality.json @@ -38163,8 +38150,8 @@ msgstr "" msgid "Quality Inspection Template Name" msgstr "" -#: erpnext/public/js/controllers/transaction.js:375 -#: erpnext/stock/doctype/stock_entry/stock_entry.js:179 +#: erpnext/public/js/controllers/transaction.js:384 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:197 msgid "Quality Inspection(s)" msgstr "" @@ -38173,7 +38160,7 @@ msgstr "" msgid "Quality Inspections" msgstr "" -#: erpnext/setup/doctype/company/company.py:496 +#: erpnext/setup/doctype/company/company.py:503 msgid "Quality Management" msgstr "" @@ -38214,7 +38201,6 @@ msgstr "" #. Label of the quality_procedure_name (Data) field in DocType 'Quality #. Procedure' #. Label of a Link in the Quality Workspace -#. Label of a shortcut in the Quality Workspace #: erpnext/quality_management/doctype/quality_procedure/quality_procedure.json #: erpnext/quality_management/doctype/quality_procedure/quality_procedure_tree.js:10 #: erpnext/quality_management/workspace/quality/quality.json @@ -38230,7 +38216,6 @@ msgstr "" #. Minutes' #. Name of a DocType #. Label of a Link in the Quality Workspace -#. Label of a shortcut in the Quality Workspace #: erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.json #: erpnext/quality_management/doctype/quality_review/quality_review.json #: erpnext/quality_management/workspace/quality/quality.json @@ -38289,9 +38274,9 @@ msgstr "" #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:52 #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:66 #: erpnext/buying/report/purchase_analytics/purchase_analytics.js:28 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:213 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:211 #: erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.json -#: erpnext/manufacturing/doctype/bom/bom.js:424 +#: erpnext/manufacturing/doctype/bom/bom.js:453 #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/bom_creator/bom_creator.js:69 #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json @@ -38313,12 +38298,12 @@ msgstr "" #: 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:690 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:708 #: 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 #: erpnext/stock/report/delayed_item_report/delayed_item_report.py:154 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:476 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:480 #: erpnext/stock/report/stock_analytics/stock_analytics.js:27 #: 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 @@ -38415,6 +38400,10 @@ msgstr "" msgid "Quantity cannot be greater than {0} for Item {1}" msgstr "" +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:564 +msgid "Quantity is mandatory for the selected items." +msgstr "" + #: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:274 msgid "Quantity is required" msgstr "" @@ -38452,11 +38441,11 @@ msgstr "" msgid "Quantity to Manufacture" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2517 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2521 msgid "Quantity to Manufacture can not be zero for the operation {0}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1381 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1385 msgid "Quantity to Manufacture must be greater than 0." msgstr "" @@ -38488,7 +38477,7 @@ msgid "Quart Liquid (US)" msgstr "" #: erpnext/selling/report/sales_analytics/sales_analytics.py:437 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:116 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:115 msgid "Quarter {0} {1}" msgstr "" @@ -38501,7 +38490,7 @@ msgstr "" msgid "Queue Size should be between 5 and 100" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:590 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:611 msgid "Quick Journal Entry" msgstr "" @@ -38540,8 +38529,8 @@ msgstr "" #. Label of the prevdoc_docname (Link) field in DocType 'Sales Order Item' #. Label of a Link in the Selling Workspace #. Option for the 'Transaction' (Select) field in DocType 'Authorization Rule' -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:295 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:43 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:296 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:51 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.html:20 #: erpnext/crm/doctype/contract/contract.json #: erpnext/crm/doctype/crm_settings/crm_settings.json @@ -38630,7 +38619,7 @@ msgstr "" msgid "Quoted Amount" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:104 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:119 msgid "RFQs are not allowed for {0} due to a scorecard standing of {1}" msgstr "" @@ -38725,7 +38714,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom_item/bom_item.json #: erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.json #: erpnext/manufacturing/doctype/work_order_item/work_order_item.json -#: erpnext/public/js/utils.js:781 +#: erpnext/public/js/utils.js:783 #: 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 @@ -38907,7 +38896,7 @@ msgstr "" msgid "Rate at which this tax is applied" msgstr "" -#: erpnext/controllers/accounts_controller.py:4041 +#: erpnext/controllers/accounts_controller.py:4049 msgid "Rate of '{}' items cannot be changed" msgstr "" @@ -38969,7 +38958,7 @@ msgstr "" msgid "Rates" msgstr "" -#: erpnext/controllers/accounts_controller.py:4017 +#: erpnext/controllers/accounts_controller.py:4024 msgid "Rates cannot be modified for quoted items" msgstr "" @@ -39051,8 +39040,8 @@ msgstr "" #. Label of the materials_section (Section Break) field in DocType 'BOM' #. 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:377 -#: erpnext/manufacturing/doctype/bom/bom.js:1021 +#: erpnext/manufacturing/doctype/bom/bom.js:406 +#: erpnext/manufacturing/doctype/bom/bom.js:1050 #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/doctype/production_plan/production_plan.json @@ -39132,7 +39121,7 @@ msgstr "" msgid "Raw materials consumed qty will be validated based on FG BOM required qty" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:411 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:369 #: erpnext/manufacturing/doctype/production_plan/production_plan.js:124 #: erpnext/manufacturing/doctype/work_order/work_order.js:736 #: erpnext/selling/doctype/sales_order/sales_order.js:968 @@ -39223,7 +39212,7 @@ msgid "Real Estate" msgstr "" #. Label of the hold_comment (Small Text) field in DocType 'Purchase Invoice' -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:275 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:274 #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json msgid "Reason For Putting On Hold" msgstr "" @@ -39233,7 +39222,7 @@ msgstr "" msgid "Reason for Failure" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:742 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:700 #: erpnext/selling/doctype/sales_order/sales_order.js:1752 msgid "Reason for Hold" msgstr "" @@ -39315,10 +39304,10 @@ msgid "Receivable / Payable Account" msgstr "" #: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:68 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1158 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1162 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:233 -#: erpnext/accounts/report/sales_register/sales_register.py:217 -#: erpnext/accounts/report/sales_register/sales_register.py:271 +#: erpnext/accounts/report/sales_register/sales_register.py:216 +#: erpnext/accounts/report/sales_register/sales_register.py:270 msgid "Receivable Account" msgstr "" @@ -39328,13 +39317,11 @@ msgstr "" msgid "Receivable/Payable Account" msgstr "" -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:48 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:51 msgid "Receivable/Payable Account: {0} doesn't belong to company {1}" msgstr "" -#. Name of a Workspace #. Label of the invoiced_amount (Check) field in DocType 'Email Digest' -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/setup/doctype/email_digest/email_digest.json msgid "Receivables" msgstr "" @@ -39377,7 +39364,7 @@ msgstr "" msgid "Received Amount After Tax (Company Currency)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1046 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:964 msgid "Received Amount cannot be greater than Paid Amount" msgstr "" @@ -39386,9 +39373,7 @@ msgid "Received From" msgstr "" #. Name of a report -#. Label of a Link in the Payables Workspace #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.json -#: erpnext/accounts/workspace/payables/payables.json msgid "Received Items To Be Billed" msgstr "" @@ -39442,7 +39427,7 @@ msgstr "" msgid "Received Quantity" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:302 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:320 msgid "Received Stock Entries" msgstr "" @@ -39471,7 +39456,7 @@ msgid "Receiving" msgstr "" #: erpnext/selling/page/point_of_sale/pos_controller.js:260 -#: erpnext/selling/page/point_of_sale/pos_controller.js:297 +#: erpnext/selling/page/point_of_sale/pos_controller.js:270 #: erpnext/selling/page/point_of_sale/pos_past_order_list.js:17 msgid "Recent Orders" msgstr "" @@ -39677,26 +39662,21 @@ msgstr "" msgid "Ref Date" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1003 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1025 msgid "Reference #{0} dated {1}" msgstr "" -#: erpnext/public/js/controllers/transaction.js:2744 +#: erpnext/public/js/controllers/transaction.js:2765 msgid "Reference Date for Early Payment Discount" msgstr "" -#. Label of the reference_detail (Data) field in DocType 'Advance Tax' -#: erpnext/accounts/doctype/advance_tax/advance_tax.json -msgid "Reference Detail" -msgstr "" - #. Label of the reference_detail_no (Data) field in DocType 'Journal Entry #. Account' #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json msgid "Reference Detail No" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:653 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:658 msgid "Reference Doctype must be one of {0}" msgstr "" @@ -39720,19 +39700,19 @@ msgstr "" msgid "Reference No" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:617 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:639 msgid "Reference No & Reference Date is required for {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1291 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1209 msgid "Reference No and Reference Date is mandatory for Bank transaction" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:622 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:644 msgid "Reference No is mandatory if you entered Reference Date" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:280 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:193 msgid "Reference No." msgstr "" @@ -39805,7 +39785,7 @@ msgstr "" #. Label of the sb_references (Section Break) field in DocType 'Contract' #. Label of the references_section (Section Break) field in DocType #. 'Subcontracting Order Item' -#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:9 +#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:10 #: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json #: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json #: erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template_dashboard.py:15 @@ -39828,7 +39808,7 @@ msgstr "" msgid "References to Sales Orders are Incomplete" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:733 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:738 msgid "References {0} of type {1} had no outstanding amount left before submitting the Payment Entry. Now they have a negative outstanding amount." msgstr "" @@ -39948,11 +39928,11 @@ 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:267 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:311 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:266 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:310 #: 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:1061 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1060 msgid "Release Date" msgstr "" @@ -39975,7 +39955,7 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:189 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:156 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1232 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1236 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:178 msgid "Remaining Balance" msgstr "" @@ -40028,13 +40008,13 @@ msgstr "" #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:159 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:204 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:275 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1264 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1268 #: erpnext/accounts/report/general_ledger/general_ledger.html:90 #: erpnext/accounts/report/general_ledger/general_ledger.html:116 #: erpnext/accounts/report/general_ledger/general_ledger.py:796 #: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:112 -#: erpnext/accounts/report/purchase_register/purchase_register.py:296 -#: erpnext/accounts/report/sales_register/sales_register.py:335 +#: erpnext/accounts/report/purchase_register/purchase_register.py:295 +#: erpnext/accounts/report/sales_register/sales_register.py:334 #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json #: erpnext/manufacturing/doctype/downtime_entry/downtime_entry.json #: erpnext/manufacturing/doctype/job_card/job_card.json @@ -40058,7 +40038,7 @@ msgstr "" msgid "Remarks:" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:96 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:119 msgid "Remove Parent Row No in Items Table" msgstr "" @@ -40066,7 +40046,7 @@ msgstr "" msgid "Remove item if charges is not applicable to that item" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:561 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:560 msgid "Removed items with no change in quantity or value." msgstr "" @@ -40238,7 +40218,7 @@ msgid "Reporting Currency" msgstr "" #: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.py:164 -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:313 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:311 msgid "Reporting Currency Exchange Not Found" msgstr "" @@ -40287,7 +40267,7 @@ msgstr "" msgid "Repost Item Valuation" msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:337 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:344 msgid "Repost Item Valuation restarted for selected failed records." msgstr "" @@ -40312,7 +40292,7 @@ msgstr "" msgid "Repost Status" msgstr "" -#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:146 +#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:149 msgid "Repost has started in the background" msgstr "" @@ -40350,7 +40330,7 @@ msgstr "" msgid "Reposting Reference" msgstr "" -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:182 +#: 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:327 msgid "Reposting entries created: {0}" msgstr "" @@ -40400,7 +40380,7 @@ msgstr "" msgid "Reqd Qty (BOM)" msgstr "" -#: erpnext/public/js/utils.js:791 +#: erpnext/public/js/utils.js:799 msgid "Reqd by date" msgstr "" @@ -40441,11 +40421,13 @@ msgstr "" #. Label of a Link in the Buying Workspace #: erpnext/buying/doctype/buying_settings/buying_settings.json #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:388 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:80 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:312 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:338 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:410 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:88 #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:70 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:272 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:270 #: erpnext/buying/workspace/buying/buying.json #: erpnext/stock/doctype/material_request/material_request.js:190 msgid "Request for Quotation" @@ -40532,6 +40514,7 @@ msgstr "" #: erpnext/stock/doctype/material_request/material_request.json #: erpnext/stock/doctype/material_request_item/material_request_item.json #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:533 #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json #: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json @@ -40583,7 +40566,7 @@ msgstr "" #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.html:21 #: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py:28 #: erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py:58 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1041 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1040 #: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:426 #: erpnext/manufacturing/report/work_order_consumed_materials/work_order_consumed_materials.py:139 #: erpnext/subcontracting/doctype/subcontracting_inward_order_received_item/subcontracting_inward_order_received_item.json @@ -40618,7 +40601,7 @@ msgstr "" msgid "Research" msgstr "" -#: erpnext/setup/doctype/company/company.py:502 +#: erpnext/setup/doctype/company/company.py:509 msgid "Research & Development" msgstr "" @@ -40708,7 +40691,7 @@ msgstr "" msgid "Reserved" msgstr "" -#: erpnext/controllers/stock_controller.py:1269 +#: erpnext/controllers/stock_controller.py:1279 msgid "Reserved Batch Conflict" msgstr "" @@ -40772,7 +40755,7 @@ msgstr "" msgid "Reserved Quantity for Production" msgstr "" -#: erpnext/stock/stock_ledger.py:2317 +#: erpnext/stock/stock_ledger.py:2284 msgid "Reserved Serial No." msgstr "" @@ -40788,13 +40771,13 @@ msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.js:168 #: erpnext/stock/report/reserved_stock/reserved_stock.json #: erpnext/stock/report/stock_balance/stock_balance.py:497 -#: erpnext/stock/stock_ledger.py:2301 +#: erpnext/stock/stock_ledger.py:2268 #: 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:2346 +#: erpnext/stock/stock_ledger.py:2313 msgid "Reserved Stock for Batch" msgstr "" @@ -41054,7 +41037,7 @@ msgid "Result Title Field" msgstr "" #: erpnext/accounts/doctype/process_period_closing_voucher/process_period_closing_voucher.js:43 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:386 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:344 #: erpnext/manufacturing/doctype/workstation/workstation_job_card.html:63 #: erpnext/selling/doctype/sales_order/sales_order.js:954 msgid "Resume" @@ -41090,14 +41073,6 @@ msgstr "" msgid "Retained Earnings" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:266 -msgid "Retention Stock Entry" -msgstr "" - -#: erpnext/stock/doctype/stock_entry/stock_entry.js:555 -msgid "Retention Stock Entry already created or Sample Quantity not provided" -msgstr "" - #. Label of the retried (Int) field in DocType 'Bulk Transaction Log Detail' #: erpnext/bulk_transaction/doctype/bulk_transaction_log_detail/bulk_transaction_log_detail.json msgid "Retried" @@ -41117,7 +41092,7 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:279 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:284 #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/delivery_note/delivery_note_list.js:16 #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json @@ -41129,7 +41104,7 @@ msgstr "" msgid "Return" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:109 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:110 msgid "Return / Credit Note" msgstr "" @@ -41184,14 +41159,14 @@ msgstr "" msgid "Return Issued" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:326 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:329 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:126 msgid "Return Qty" msgstr "" #. Label of the return_qty_from_rejected_warehouse (Check) field in DocType #. 'Purchase Receipt Item' -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:302 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:305 #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:102 msgid "Return Qty from Rejected Warehouse" @@ -41205,12 +41180,12 @@ msgstr "" msgid "Return Raw Material to Customer" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1448 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1524 msgid "Return invoice of asset cancelled" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:131 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:480 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:106 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:593 msgid "Return of Components" msgstr "" @@ -41316,7 +41291,7 @@ msgstr "" msgid "Reversal Of" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:82 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:96 msgid "Reverse Journal Entry" msgstr "" @@ -41469,7 +41444,7 @@ msgstr "" #. Label of the root_type (Select) field in DocType 'Account' #. Label of the root_type (Select) field in DocType 'Ledger Merge' #: erpnext/accounts/doctype/account/account.json -#: erpnext/accounts/doctype/account/account_tree.js:151 +#: erpnext/accounts/doctype/account/account_tree.js:152 #: erpnext/accounts/doctype/ledger_merge/ledger_merge.json #: erpnext/accounts/report/account_balance/account_balance.js:22 msgid "Root Type" @@ -41549,8 +41524,8 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/accounts/report/purchase_register/purchase_register.py:282 -#: erpnext/accounts/report/sales_register/sales_register.py:312 +#: erpnext/accounts/report/purchase_register/purchase_register.py:281 +#: erpnext/accounts/report/sales_register/sales_register.py:311 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/selling/doctype/quotation/quotation.json @@ -41675,7 +41650,7 @@ msgstr "" msgid "Routing Name" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:577 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:576 msgid "Row # {0}:" msgstr "" @@ -41683,11 +41658,11 @@ msgstr "" msgid "Row # {0}: Cannot return more than {1} for Item {2}" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:186 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:185 msgid "Row # {0}: Please add Serial and Batch Bundle for Item {1}" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:205 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:204 msgid "Row # {0}: Please enter quantity for Item {1} as it is not zero." msgstr "" @@ -41699,29 +41674,29 @@ msgstr "" msgid "Row # {0}: Returned Item {1} does not exist in {2} {3}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:257 +#: erpnext/manufacturing/doctype/work_order/work_order.py:260 msgid "Row #1: Sequence ID must be 1 for Operation {0}." msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:563 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1997 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2073 msgid "Row #{0} (Payment Table): Amount must be negative" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:561 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1992 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2068 msgid "Row #{0} (Payment Table): Amount must be positive" msgstr "" -#: erpnext/stock/doctype/item/item.py:513 +#: erpnext/stock/doctype/item/item.py:532 msgid "Row #{0}: A reorder entry already exists for warehouse {1} with reorder type {2}." msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:323 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:327 msgid "Row #{0}: Acceptance Criteria Formula is incorrect." msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:303 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:307 msgid "Row #{0}: Acceptance Criteria Formula is required." msgstr "" @@ -41734,36 +41709,36 @@ msgstr "" msgid "Row #{0}: Accepted Warehouse is mandatory for the accepted Item {1}" msgstr "" -#: erpnext/controllers/accounts_controller.py:1287 +#: erpnext/controllers/accounts_controller.py:1291 msgid "Row #{0}: Account {1} does not belong to company {2}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:391 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:396 msgid "Row #{0}: Allocated Amount cannot be greater than Outstanding Amount of Payment Request {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:367 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:472 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:372 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:477 msgid "Row #{0}: Allocated Amount cannot be greater than outstanding amount." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:484 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:489 msgid "Row #{0}: Allocated amount:{1} is greater than outstanding amount:{2} for Payment Term {3}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:293 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:292 msgid "Row #{0}: Amount must be a positive number" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:392 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:417 msgid "Row #{0}: Asset {1} cannot be sold, it is already {2}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:397 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:422 msgid "Row #{0}: Asset {1} is already sold" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:371 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:329 msgid "Row #{0}: BOM is not specified for subcontracting item {0}" msgstr "" @@ -41779,7 +41754,7 @@ msgstr "" msgid "Row #{0}: Batch No(s) {1} is not a part of the linked Subcontracting Inward Order. Please select valid Batch No(s)." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:863 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:868 msgid "Row #{0}: Cannot allocate more than {1} against payment term {2}" msgstr "" @@ -41795,31 +41770,35 @@ msgstr "" msgid "Row #{0}: Cannot cancel this Stock Entry as returned quantity cannot be greater than delivered quantity for Item {1} in the linked Subcontracting Inward Order" msgstr "" -#: erpnext/controllers/accounts_controller.py:3761 +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py:78 +msgid "Row #{0}: Cannot create entry with different taxable AND withholding document links." +msgstr "" + +#: erpnext/controllers/accounts_controller.py:3765 msgid "Row #{0}: Cannot delete item {1} which has already been billed." msgstr "" -#: erpnext/controllers/accounts_controller.py:3735 +#: erpnext/controllers/accounts_controller.py:3739 msgid "Row #{0}: Cannot delete item {1} which has already been delivered" msgstr "" -#: erpnext/controllers/accounts_controller.py:3754 +#: erpnext/controllers/accounts_controller.py:3758 msgid "Row #{0}: Cannot delete item {1} which has already been received" msgstr "" -#: erpnext/controllers/accounts_controller.py:3741 +#: erpnext/controllers/accounts_controller.py:3745 msgid "Row #{0}: Cannot delete item {1} which has work order assigned to it." msgstr "" -#: erpnext/controllers/accounts_controller.py:3747 -msgid "Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order." +#: erpnext/controllers/accounts_controller.py:3751 +msgid "Row #{0}: Cannot delete item {1} which is already ordered against this Sales Order." msgstr "" -#: erpnext/controllers/accounts_controller.py:4051 +#: erpnext/controllers/accounts_controller.py:4059 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:1007 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1026 msgid "Row #{0}: Cannot transfer more than Required Qty {1} for Item {2} against Job Card {3}" msgstr "" @@ -41827,23 +41806,23 @@ msgstr "" msgid "Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:268 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:267 msgid "Row #{0}: Consumed Asset {1} cannot be Draft" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:271 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:270 msgid "Row #{0}: Consumed Asset {1} cannot be cancelled" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:253 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:252 msgid "Row #{0}: Consumed Asset {1} cannot be the same as the Target Asset" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:262 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:261 msgid "Row #{0}: Consumed Asset {1} cannot be {2}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:276 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:275 msgid "Row #{0}: Consumed Asset {1} does not belong to company {2}" msgstr "" @@ -41851,7 +41830,11 @@ msgstr "" msgid "Row #{0}: Cost Center {1} does not belong to company {2}" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:76 +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py:211 +msgid "Row #{0}: Could not find enough {1} entries to match. Remaining amount: {2}" +msgstr "" + +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:88 msgid "Row #{0}: Cumulative threshold cannot be less than Single Transaction threshold" msgstr "" @@ -41865,11 +41848,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:334 +#: erpnext/manufacturing/doctype/work_order/work_order.py:337 msgid "Row #{0}: Customer Provided Item {1} cannot be added multiple times." msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:359 +#: erpnext/manufacturing/doctype/work_order/work_order.py:362 msgid "Row #{0}: Customer Provided Item {1} does not exist in the Required Items table linked to the Subcontracting Inward Order." msgstr "" @@ -41877,7 +41860,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:347 +#: erpnext/manufacturing/doctype/work_order/work_order.py:350 msgid "Row #{0}: Customer Provided Item {1} has insufficient quantity in the Subcontracting Inward Order. Available quantity is {2}." msgstr "" @@ -41890,19 +41873,19 @@ msgstr "" msgid "Row #{0}: Customer Provided Item {1} is not a part of Work Order {2}" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:52 -msgid "Row #{0}: Dates overlapping with other row" +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:61 +msgid "Row #{0}: Dates overlapping with other row in group {1}" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:395 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:353 msgid "Row #{0}: Default BOM not found for FG Item {1}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:661 +#: erpnext/assets/doctype/asset/asset.py:675 msgid "Row #{0}: Depreciation Start Date is required" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:328 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:333 msgid "Row #{0}: Duplicate entry in References {1} {2}" msgstr "" @@ -41918,17 +41901,17 @@ msgstr "" 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:400 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:358 #: erpnext/selling/doctype/sales_order/sales_order.py:291 msgid "Row #{0}: Finished Good Item Qty can not be zero" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:382 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:340 #: erpnext/selling/doctype/sales_order/sales_order.py:271 msgid "Row #{0}: Finished Good Item is not specified for service item {1}" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:389 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:347 #: erpnext/selling/doctype/sales_order/sales_order.py:278 msgid "Row #{0}: Finished Good Item {1} must be a sub-contracted item" msgstr "" @@ -41946,19 +41929,23 @@ msgstr "" msgid "Row #{0}: For Customer Provided Item {1}, Source Warehouse must be {2}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:665 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:687 msgid "Row #{0}: For {1}, you can select reference document only if account gets credited" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:675 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:697 msgid "Row #{0}: For {1}, you can select reference document only if account gets debited" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:48 +#: erpnext/assets/doctype/asset/asset.py:658 +msgid "Row #{0}: Frequency of Depreciation must be greater than zero" +msgstr "" + +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:50 msgid "Row #{0}: From Date cannot be before To Date" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:759 +#: erpnext/manufacturing/doctype/job_card/job_card.py:778 msgid "Row #{0}: From Time and To Time fields are required" msgstr "" @@ -41966,11 +41953,15 @@ msgstr "" msgid "Row #{0}: Item added" msgstr "" +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1472 +msgid "Row #{0}: Item {1} cannot be transferred more than {2} against {3} {4}" +msgstr "" + #: erpnext/buying/utils.py:98 msgid "Row #{0}: Item {1} does not exist" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1627 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1628 msgid "Row #{0}: Item {1} has been picked, please reserve stock from the Pick List." msgstr "" @@ -41990,7 +41981,7 @@ msgstr "" msgid "Row #{0}: Item {1} is not a Customer Provided Item." msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:742 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:741 msgid "Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it." msgstr "" @@ -41999,11 +41990,11 @@ msgstr "" msgid "Row #{0}: Item {1} is not a part of Subcontracting Inward Order {2}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:287 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:286 msgid "Row #{0}: Item {1} is not a service item" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:241 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:240 msgid "Row #{0}: Item {1} is not a stock item" msgstr "" @@ -42015,15 +42006,15 @@ msgstr "" msgid "Row #{0}: Item {1} mismatch. Changing of item code is not permitted." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:759 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:764 msgid "Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:655 +#: erpnext/assets/doctype/asset/asset.py:669 msgid "Row #{0}: Next Depreciation Date cannot be before Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:650 +#: erpnext/assets/doctype/asset/asset.py:664 msgid "Row #{0}: Next Depreciation Date cannot be before Purchase Date" msgstr "" @@ -42031,15 +42022,15 @@ msgstr "" msgid "Row #{0}: Not allowed to change Supplier as Purchase Order already exists" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1710 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1711 msgid "Row #{0}: Only {1} available to reserve for the Item {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:627 +#: erpnext/assets/doctype/asset/asset.py:632 msgid "Row #{0}: Opening Accumulated Depreciation must be less than or equal to {1}" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:822 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:833 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 "" @@ -42048,11 +42039,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:1030 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1050 msgid "Row #{0}: Please select Item Code in Assembly Items" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1033 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1053 msgid "Row #{0}: Please select the BOM No in Assembly Items" msgstr "" @@ -42060,15 +42051,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:1027 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1047 msgid "Row #{0}: Please select the Sub Assembly Warehouse" msgstr "" -#: erpnext/stock/doctype/item/item.py:520 +#: erpnext/stock/doctype/item/item.py:539 msgid "Row #{0}: Please set reorder quantity" msgstr "" -#: erpnext/controllers/accounts_controller.py:616 +#: erpnext/controllers/accounts_controller.py:614 msgid "Row #{0}: Please update deferred revenue/expense account in item row or default account in company master" msgstr "" @@ -42076,8 +42067,8 @@ msgstr "" msgid "Row #{0}: Qty increased by {1}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:244 -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:290 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:243 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:289 msgid "Row #{0}: Qty must be a positive number" msgstr "" @@ -42085,15 +42076,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:1406 +#: erpnext/controllers/stock_controller.py:1416 msgid "Row #{0}: Quality Inspection is required for Item {1}" msgstr "" -#: erpnext/controllers/stock_controller.py:1421 +#: erpnext/controllers/stock_controller.py:1431 msgid "Row #{0}: Quality Inspection {1} is not submitted for the item: {2}" msgstr "" -#: erpnext/controllers/stock_controller.py:1436 +#: erpnext/controllers/stock_controller.py:1446 msgid "Row #{0}: Quality Inspection {1} was rejected for item {2}" msgstr "" @@ -42101,8 +42092,8 @@ 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:1450 -#: erpnext/controllers/accounts_controller.py:3875 +#: erpnext/controllers/accounts_controller.py:1454 +#: erpnext/controllers/accounts_controller.py:3879 msgid "Row #{0}: Quantity for Item {1} cannot be zero." msgstr "" @@ -42110,22 +42101,22 @@ msgstr "" 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:1695 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1696 msgid "Row #{0}: Quantity to reserve for the Item {1} should be greater than 0." msgstr "" -#: erpnext/controllers/accounts_controller.py:871 -#: erpnext/controllers/accounts_controller.py:883 +#: erpnext/controllers/accounts_controller.py:869 +#: erpnext/controllers/accounts_controller.py:881 #: erpnext/utilities/transaction_base.py:114 #: erpnext/utilities/transaction_base.py:120 msgid "Row #{0}: Rate must be same as {1}: {2} ({3} / {4})" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1233 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1244 msgid "Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1219 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1230 msgid "Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning" msgstr "" @@ -42141,7 +42132,7 @@ msgstr "" msgid "Row #{0}: Repair cost {1} exceeds available amount {2} for Purchase Invoice {3} and Account {4}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:400 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:425 msgid "Row #{0}: Return Against is required for returning asset" msgstr "" @@ -42165,7 +42156,7 @@ msgid "" "\t\t\t\t\tthis validation." msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:263 +#: erpnext/manufacturing/doctype/work_order/work_order.py:266 msgid "Row #{0}: Sequence ID must be {1} or {2} for Operation {3}." msgstr "" @@ -42185,15 +42176,15 @@ 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:644 +#: erpnext/controllers/accounts_controller.py:642 msgid "Row #{0}: Service End Date cannot be before Invoice Posting Date" msgstr "" -#: erpnext/controllers/accounts_controller.py:638 +#: erpnext/controllers/accounts_controller.py:636 msgid "Row #{0}: Service Start Date cannot be greater than Service End Date" msgstr "" -#: erpnext/controllers/accounts_controller.py:632 +#: erpnext/controllers/accounts_controller.py:630 msgid "Row #{0}: Service Start and End Date is required for deferred accounting" msgstr "" @@ -42201,7 +42192,7 @@ msgstr "" msgid "Row #{0}: Set Supplier for item {1}" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1037 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1057 msgid "Row #{0}: Since 'Track Semi Finished Goods' is enabled, the BOM {1} cannot be used for Sub Assembly Items" msgstr "" @@ -42209,19 +42200,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:368 +#: erpnext/manufacturing/doctype/work_order/work_order.py:371 msgid "Row #{0}: Source Warehouse {1} for item {2} cannot be a customer warehouse." msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:323 +#: erpnext/manufacturing/doctype/work_order/work_order.py:326 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:966 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:977 msgid "Row #{0}: Source and Target Warehouse cannot be the same for Material Transfer" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:988 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:999 msgid "Row #{0}: Source, Target Warehouse and Inventory Dimensions cannot be the exact same for Material Transfer" msgstr "" @@ -42233,11 +42224,11 @@ msgstr "" msgid "Row #{0}: Start Time must be before End Time" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:205 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:209 msgid "Row #{0}: Status is mandatory" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:442 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:449 msgid "Row #{0}: Status must be {1} for Invoice Discounting {2}" msgstr "" @@ -42245,15 +42236,15 @@ 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:1640 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1641 msgid "Row #{0}: Stock cannot be reserved for a non-stock Item {1}" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1653 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1654 msgid "Row #{0}: Stock cannot be reserved in group warehouse {1}." msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1667 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1668 msgid "Row #{0}: Stock is already reserved for the Item {1}." msgstr "" @@ -42265,12 +42256,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:1233 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1681 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1234 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1682 msgid "Row #{0}: Stock not available to reserve for the Item {1} in Warehouse {2}." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1244 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1270 msgid "Row #{0}: Stock quantity {1} ({2}) for item {3} cannot exceed {4}" msgstr "" @@ -42282,7 +42273,7 @@ msgstr "" msgid "Row #{0}: The batch {1} has already expired." msgstr "" -#: erpnext/stock/doctype/item/item.py:529 +#: erpnext/stock/doctype/item/item.py:548 msgid "Row #{0}: The warehouse {1} is not a child warehouse of a group warehouse {2}" msgstr "" @@ -42290,19 +42281,27 @@ msgstr "" msgid "Row #{0}: Timings conflicts with row {1}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:640 +#: erpnext/assets/doctype/asset/asset.py:645 msgid "Row #{0}: Total Number of Depreciations cannot be less than or equal to Opening Number of Booked Depreciations" msgstr "" +#: erpnext/assets/doctype/asset/asset.py:654 +msgid "Row #{0}: Total Number of Depreciations must be greater than zero" +msgstr "" + +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.py:94 +msgid "Row #{0}: Withholding Amount {1} does not match calculated amount {2}." +msgstr "" + #: erpnext/controllers/subcontracting_inward_controller.py:572 msgid "Row #{0}: Work Order exists against full or partial quantity of Item {1}" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:99 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:98 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 "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:404 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:429 msgid "Row #{0}: You must select an Asset for Item {1}." msgstr "" @@ -42310,7 +42309,7 @@ msgstr "" msgid "Row #{0}: {1} can not be negative for item {2}" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:316 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:320 msgid "Row #{0}: {1} is not a valid reading field. Please refer to the field description." msgstr "" @@ -42334,15 +42333,15 @@ msgstr "" msgid "Row #{idx}: Item rate has been updated as per valuation rate since its an internal stock transfer." msgstr "" -#: erpnext/controllers/buying_controller.py:1050 +#: erpnext/controllers/buying_controller.py:1043 msgid "Row #{idx}: Please enter a location for the asset item {item_code}." msgstr "" -#: erpnext/controllers/buying_controller.py:706 +#: erpnext/controllers/buying_controller.py:699 msgid "Row #{idx}: Received Qty must be equal to Accepted + Rejected Qty for Item {item_code}." msgstr "" -#: erpnext/controllers/buying_controller.py:719 +#: erpnext/controllers/buying_controller.py:712 msgid "Row #{idx}: {field_label} can not be negative for item {item_code}." msgstr "" @@ -42350,15 +42349,11 @@ msgstr "" msgid "Row #{idx}: {field_label} is mandatory." msgstr "" -#: erpnext/controllers/buying_controller.py:687 -msgid "Row #{idx}: {field_label} is not allowed in Purchase Return." -msgstr "" - #: erpnext/controllers/buying_controller.py:302 msgid "Row #{idx}: {from_warehouse_field} and {to_warehouse_field} cannot be same." msgstr "" -#: erpnext/controllers/buying_controller.py:1169 +#: erpnext/controllers/buying_controller.py:1162 msgid "Row #{idx}: {schedule_date} cannot be before {transaction_date}." msgstr "" @@ -42366,7 +42361,7 @@ msgstr "" msgid "Row #{}: Currency of {} - {} doesn't matches company currency." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:416 +#: erpnext/assets/doctype/asset/asset.py:415 msgid "Row #{}: Finance Book should not be empty since you're using multiple." msgstr "" @@ -42386,7 +42381,7 @@ msgstr "" msgid "Row #{}: Please assign task to a member." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:408 +#: erpnext/assets/doctype/asset/asset.py:407 msgid "Row #{}: Please use a different Finance Book." msgstr "" @@ -42415,15 +42410,15 @@ msgstr "" msgid "Row #{}: {} {} does not exist." msgstr "" -#: erpnext/stock/doctype/item/item.py:1401 +#: erpnext/stock/doctype/item/item.py:1420 msgid "Row #{}: {} {} doesn't belong to Company {}. Please select valid {}." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:442 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:444 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:687 +#: erpnext/manufacturing/doctype/job_card/job_card.py:706 msgid "Row {0} : Operation is required against the raw material item {1}" msgstr "" @@ -42431,11 +42426,7 @@ msgstr "" msgid "Row {0} picked quantity is less than the required quantity, additional {1} {2} required." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1459 -msgid "Row {0}# Item {1} cannot be transferred more than {2} against {3} {4}" -msgstr "" - -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1483 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1496 msgid "Row {0}# Item {1} not found in 'Raw Materials Supplied' table in {2} {3}" msgstr "" @@ -42443,31 +42434,31 @@ 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:580 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:602 msgid "Row {0}: Account {1} and Party Type {2} have different account types" msgstr "" -#: erpnext/projects/doctype/timesheet/timesheet.py:151 +#: erpnext/projects/doctype/timesheet/timesheet.py:164 msgid "Row {0}: Activity Type is mandatory." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:646 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:668 msgid "Row {0}: Advance against Customer must be credit" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:648 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:670 msgid "Row {0}: Advance against Supplier must be debit" msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:705 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:737 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:697 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:729 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:1146 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1157 msgid "Row {0}: As {1} is enabled, raw materials cannot be added to {2} entry. Use {3} entry to consume raw materials." msgstr "" @@ -42475,7 +42466,7 @@ msgstr "" msgid "Row {0}: Bill of Materials not found for the Item {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:899 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:921 msgid "Row {0}: Both Debit and Credit values cannot be zero" msgstr "" @@ -42489,7 +42480,7 @@ msgstr "" msgid "Row {0}: Conversion Factor is mandatory" msgstr "" -#: erpnext/controllers/accounts_controller.py:3221 +#: erpnext/controllers/accounts_controller.py:3225 msgid "Row {0}: Cost Center {1} does not belong to Company {2}" msgstr "" @@ -42497,7 +42488,7 @@ msgstr "" msgid "Row {0}: Cost center is required for an item {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:745 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:767 msgid "Row {0}: Credit entry can not be linked with a {1}" msgstr "" @@ -42505,7 +42496,7 @@ msgstr "" msgid "Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:740 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:762 msgid "Row {0}: Debit entry can not be linked with a {1}" msgstr "" @@ -42517,7 +42508,7 @@ msgstr "" msgid "Row {0}: Delivery Warehouse cannot be same as Customer Warehouse for Item {1}." msgstr "" -#: erpnext/controllers/accounts_controller.py:2714 +#: erpnext/controllers/accounts_controller.py:2718 msgid "Row {0}: Due Date in the Payment Terms table cannot be before Posting Date" msgstr "" @@ -42525,57 +42516,61 @@ msgstr "" msgid "Row {0}: Either Delivery Note Item or Packed Item reference is mandatory." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:990 -#: erpnext/controllers/taxes_and_totals.py:1349 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1012 +#: erpnext/controllers/taxes_and_totals.py:1329 msgid "Row {0}: Exchange Rate is mandatory" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:602 +#: erpnext/assets/doctype/asset/asset.py:603 +msgid "Row {0}: Expected Value After Useful Life cannot be negative" +msgstr "" + +#: erpnext/assets/doctype/asset/asset.py:606 msgid "Row {0}: Expected Value After Useful Life must be less than Net Purchase Amount" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:532 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:534 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:489 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:491 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:514 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:516 msgid "Row {0}: Expense Head changed to {1} because expense is booked against this account in Purchase Receipt {2}" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:127 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:142 msgid "Row {0}: For Supplier {1}, Email Address is Required to send an email" msgstr "" -#: erpnext/projects/doctype/timesheet/timesheet.py:148 +#: erpnext/projects/doctype/timesheet/timesheet.py:161 msgid "Row {0}: From Time and To Time is mandatory." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:259 -#: erpnext/projects/doctype/timesheet/timesheet.py:212 +#: erpnext/manufacturing/doctype/job_card/job_card.py:283 +#: erpnext/projects/doctype/timesheet/timesheet.py:225 msgid "Row {0}: From Time and To Time of {1} is overlapping with {2}" msgstr "" -#: erpnext/controllers/stock_controller.py:1502 +#: erpnext/controllers/stock_controller.py:1512 msgid "Row {0}: From Warehouse is mandatory for internal transfers" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:250 +#: erpnext/manufacturing/doctype/job_card/job_card.py:274 msgid "Row {0}: From time must be less than to time" msgstr "" -#: erpnext/projects/doctype/timesheet/timesheet.py:154 +#: erpnext/projects/doctype/timesheet/timesheet.py:167 msgid "Row {0}: Hours value must be greater than zero." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:765 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:787 msgid "Row {0}: Invalid reference {1}" msgstr "" -#: erpnext/controllers/taxes_and_totals.py:138 +#: erpnext/controllers/taxes_and_totals.py:128 msgid "Row {0}: Item Tax template updated as per validity and rate applied" msgstr "" @@ -42603,11 +42598,11 @@ msgstr "" msgid "Row {0}: Packing Slip is already created for Item {1}." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:791 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:813 msgid "Row {0}: Party / Account does not match with {1} / {2} in {3} {4}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:569 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:591 msgid "Row {0}: Party Type and Party is required for Receivable / Payable account {1}" msgstr "" @@ -42615,11 +42610,11 @@ msgstr "" msgid "Row {0}: Payment Term is mandatory" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:639 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:661 msgid "Row {0}: Payment against Sales/Purchase Order should always be marked as advance" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:632 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:654 msgid "Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry." msgstr "" @@ -42675,19 +42670,23 @@ msgstr "" msgid "Row {0}: Quantity cannot be negative." msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:896 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:907 msgid "Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3})" msgstr "" -#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:58 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:884 +msgid "Row {0}: Sales Invoice {1} is already created for {2}" +msgstr "" + +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:57 msgid "Row {0}: Shift cannot be changed since the depreciation has already been processed" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1496 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1509 msgid "Row {0}: Subcontracted Item is mandatory for the raw material {1}" msgstr "" -#: erpnext/controllers/stock_controller.py:1493 +#: erpnext/controllers/stock_controller.py:1503 msgid "Row {0}: Target Warehouse is mandatory for internal transfers" msgstr "" @@ -42703,7 +42702,7 @@ msgstr "" msgid "Row {0}: The item {1}, quantity must be positive number" msgstr "" -#: erpnext/controllers/accounts_controller.py:3198 +#: erpnext/controllers/accounts_controller.py:3202 msgid "Row {0}: The {3} Account {1} does not belong to the company {2}" msgstr "" @@ -42711,7 +42710,7 @@ 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:3243 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3298 msgid "Row {0}: Transferred quantity cannot be greater than the requested quantity." msgstr "" @@ -42719,12 +42718,12 @@ msgstr "" msgid "Row {0}: UOM Conversion Factor is mandatory" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1148 -#: erpnext/manufacturing/doctype/work_order/work_order.py:397 +#: erpnext/manufacturing/doctype/bom/bom.py:1152 +#: erpnext/manufacturing/doctype/work_order/work_order.py:400 msgid "Row {0}: Workstation or Workstation Type is mandatory for an operation {1}" msgstr "" -#: erpnext/controllers/accounts_controller.py:1169 +#: erpnext/controllers/accounts_controller.py:1173 msgid "Row {0}: user has not applied the rule {1} on the item {2}" msgstr "" @@ -42736,11 +42735,11 @@ msgstr "" msgid "Row {0}: {1} must be greater than 0" msgstr "" -#: erpnext/controllers/accounts_controller.py:781 +#: erpnext/controllers/accounts_controller.py:779 msgid "Row {0}: {1} {2} cannot be same as {3} (Party Account) {4}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:805 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:827 msgid "Row {0}: {1} {2} does not match with {3}" msgstr "" @@ -42748,11 +42747,11 @@ msgstr "" msgid "Row {0}: {2} Item {1} does not exist in {2} {3}" msgstr "" -#: erpnext/utilities/transaction_base.py:558 +#: erpnext/utilities/transaction_base.py:561 msgid "Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}." msgstr "" -#: erpnext/controllers/buying_controller.py:1032 +#: erpnext/controllers/buying_controller.py:1025 msgid "Row {idx}: Asset Naming Series is mandatory for the auto creation of assets for item {item_code}." msgstr "" @@ -42778,11 +42777,11 @@ msgstr "" msgid "Rows with Same Account heads will be merged on Ledger" msgstr "" -#: erpnext/controllers/accounts_controller.py:2725 +#: erpnext/controllers/accounts_controller.py:2729 msgid "Rows with duplicate due dates in other rows were found: {0}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:128 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:144 msgid "Rows: {0} have 'Payment Entry' as reference_type. This should not be set manually." msgstr "" @@ -42861,7 +42860,7 @@ msgstr "" msgid "SLA Paused On" msgstr "" -#: erpnext/public/js/utils.js:1151 +#: erpnext/public/js/utils.js:1167 msgid "SLA is on hold since {0}" msgstr "" @@ -42873,9 +42872,7 @@ msgstr "" msgid "SLA will be applied on every {0}" msgstr "" -#. Label of a Link in the CRM Workspace #. Name of a DocType -#: erpnext/crm/workspace/crm/crm.json #: erpnext/selling/doctype/sms_center/sms_center.json msgid "SMS Center" msgstr "" @@ -42909,7 +42906,7 @@ msgstr "" #. Item' #. Label of the safety_stock (Float) field in DocType 'Item' #: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1036 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1035 #: erpnext/stock/doctype/item/item.json #: erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py:58 msgid "Safety Stock" @@ -42953,11 +42950,11 @@ msgstr "" #: erpnext/crm/doctype/opportunity/opportunity.js:288 #: erpnext/crm/doctype/opportunity/opportunity.py:158 #: erpnext/projects/doctype/project/project_dashboard.py:15 -#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:146 +#: erpnext/regional/report/vat_audit_report/vat_audit_report.py:144 #: erpnext/selling/doctype/quotation/quotation.json #: erpnext/selling/doctype/sales_order/sales_order.json -#: erpnext/setup/doctype/company/company.py:448 -#: erpnext/setup/doctype/company/company.py:640 +#: erpnext/setup/doctype/company/company.py:455 +#: erpnext/setup/doctype/company/company.py:647 #: erpnext/setup/doctype/company/company_dashboard.py:9 #: erpnext/setup/doctype/sales_person/sales_person_dashboard.py:12 #: erpnext/setup/install.py:341 @@ -42966,15 +42963,12 @@ msgstr "" msgid "Sales" msgstr "" -#: erpnext/setup/doctype/company/company.py:640 +#: erpnext/setup/doctype/company/company.py:647 msgid "Sales Account" msgstr "" -#. Label of a shortcut in the CRM Workspace #. Name of a report #. Label of a Link in the Selling Workspace -#. Label of a shortcut in the Selling Workspace -#: erpnext/crm/workspace/crm/crm.json #: erpnext/selling/report/sales_analytics/sales_analytics.json #: erpnext/selling/workspace/selling/selling.json msgid "Sales Analytics" @@ -43040,8 +43034,6 @@ msgstr "" #. DocType 'POS Settings' #. Name of a DocType #. Label of the sales_invoice (Link) field in DocType 'Sales Invoice Reference' -#. Label of a Link in the Receivables Workspace -#. Label of a shortcut in the Receivables Workspace #. Option for the 'Document Type' (Select) field in DocType 'Contract' #. Label of the sales_invoice (Link) field in DocType 'Timesheet' #. Label of the sales_invoice (Link) field in DocType 'Timesheet Detail' @@ -43061,7 +43053,6 @@ msgstr "" #: erpnext/accounts/report/gross_profit/gross_profit.js:30 #: erpnext/accounts/report/gross_profit/gross_profit.py:276 #: erpnext/accounts/report/gross_profit/gross_profit.py:283 -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/crm/doctype/contract/contract.json #: erpnext/projects/doctype/timesheet/timesheet.json #: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json @@ -43197,7 +43188,6 @@ msgstr "" #. Label of the sales_order (Link) field in DocType 'Delivery Schedule Item' #. Name of a DocType #. Label of a Link in the Selling Workspace -#. Label of a shortcut in the Selling Workspace #. Option for the 'Transaction' (Select) field in DocType 'Authorization Rule' #. Label of the sales_order (Link) field in DocType 'Material Request Item' #. Label of the sales_order (Link) field in DocType 'Pick List Item' @@ -43207,10 +43197,10 @@ msgstr "" #. Label of a Link in the Subcontracting Workspace #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json #: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:273 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:274 #: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:276 -#: erpnext/accounts/report/sales_register/sales_register.py:238 +#: erpnext/accounts/report/sales_register/sales_register.py:237 #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/controllers/selling_controller.py:526 @@ -43229,7 +43219,7 @@ msgstr "" #: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:217 #: erpnext/projects/doctype/project/project.json #: erpnext/selling/doctype/delivery_schedule_item/delivery_schedule_item.json -#: erpnext/selling/doctype/quotation/quotation.js:125 +#: erpnext/selling/doctype/quotation/quotation.js:134 #: erpnext/selling/doctype/quotation/quotation_dashboard.py:11 #: erpnext/selling/doctype/quotation/quotation_list.js:16 #: erpnext/selling/doctype/sales_order/sales_order.json @@ -43254,11 +43244,9 @@ msgstr "" msgid "Sales Order" msgstr "" -#. Label of a Link in the Receivables Workspace #. Name of a report #. Label of a Link in the Selling Workspace #. Label of a Link in the Stock Workspace -#: erpnext/accounts/workspace/receivables/receivables.json #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.json #: erpnext/selling/workspace/selling/selling.json #: erpnext/stock/workspace/stock/stock.json @@ -43349,16 +43337,16 @@ msgstr "" msgid "Sales Order {0} already exists against Customer's Purchase Order {1}. To allow multiple Sales Orders, Enable {2} in {3}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1369 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1400 msgid "Sales Order {0} is not submitted" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:448 +#: erpnext/manufacturing/doctype/work_order/work_order.py:451 msgid "Sales Order {0} is not valid" msgstr "" #: erpnext/controllers/selling_controller.py:507 -#: erpnext/manufacturing/doctype/work_order/work_order.py:453 +#: erpnext/manufacturing/doctype/work_order/work_order.py:456 msgid "Sales Order {0} is {1}" msgstr "" @@ -43367,13 +43355,15 @@ msgstr "" #. Label of the sales_orders_detail (Section Break) field in DocType #. 'Production Plan' #. Label of the sales_orders (Table) field in DocType 'Production Plan' +#. Label of a number card in the Selling Workspace #: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.json #: erpnext/manufacturing/doctype/production_plan/production_plan.json #: erpnext/manufacturing/report/work_order_summary/work_order_summary.js:42 +#: erpnext/selling/workspace/selling/selling.json msgid "Sales Orders" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:341 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:343 msgid "Sales Orders Required" msgstr "" @@ -43411,7 +43401,7 @@ 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:119 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1253 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1257 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:103 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:194 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:74 @@ -43509,7 +43499,7 @@ msgstr "" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:158 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:137 #: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:125 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1250 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1254 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:109 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:191 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:80 @@ -43563,8 +43553,6 @@ msgstr "" msgid "Sales Person-wise Transaction Summary" msgstr "" -#. Label of a Card Break in the CRM Workspace -#: erpnext/crm/workspace/crm/crm.json #: erpnext/selling/page/sales_funnel/sales_funnel.js:47 msgid "Sales Pipeline" msgstr "" @@ -43585,9 +43573,7 @@ msgid "Sales Price List" msgstr "" #. Name of a report -#. Label of a Link in the Receivables Workspace #: erpnext/accounts/report/sales_register/sales_register.json -#: erpnext/accounts/workspace/receivables/receivables.json msgid "Sales Register" msgstr "" @@ -43606,7 +43592,7 @@ msgstr "" #: erpnext/crm/doctype/opportunity/opportunity.json #: erpnext/crm/doctype/sales_stage/sales_stage.json #: erpnext/crm/report/lost_opportunity/lost_opportunity.py:51 -#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:70 +#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:69 #: erpnext/crm/workspace/crm/crm.json msgid "Sales Stage" msgstr "" @@ -43621,6 +43607,11 @@ msgstr "" msgid "Sales Tax Template" msgstr "" +#. Label of the sales_tax_withholding_category (Link) field in DocType 'Item' +#: erpnext/stock/doctype/item/item.json +msgid "Sales Tax Withholding Category" +msgstr "" + #. Label of the taxes (Table) field in DocType 'POS Invoice' #. Label of the taxes (Table) field in DocType 'Sales Invoice' #. Name of a DocType @@ -43698,7 +43689,7 @@ msgstr "" msgid "Sales and Returns" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:214 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:216 msgid "Sales orders are not available for production" msgstr "" @@ -43726,7 +43717,7 @@ msgstr "" msgid "Same Item" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:597 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:596 msgid "Same item and warehouse combination already entered." msgstr "" @@ -43734,7 +43725,7 @@ msgstr "" msgid "Same item cannot be entered multiple times." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:96 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:111 msgid "Same supplier has been entered multiple times" msgstr "" @@ -43745,6 +43736,11 @@ msgstr "" msgid "Sample Quantity" msgstr "" +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.js:269 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:447 +msgid "Sample Retention Stock Entry" +msgstr "" + #. Label of the sample_retention_warehouse (Link) field in DocType 'Stock #. Settings' #: erpnext/stock/doctype/stock_settings/stock_settings.json @@ -43753,12 +43749,12 @@ 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:2802 +#: erpnext/public/js/controllers/transaction.js:2822 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json msgid "Sample Size" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3706 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3788 msgid "Sample quantity {0} cannot be more than received quantity {1}" msgstr "" @@ -43853,7 +43849,7 @@ 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:300 +#: erpnext/assets/doctype/asset/asset.js:338 #: 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" @@ -43880,11 +43876,11 @@ msgstr "" msgid "Scheduled Time Logs" msgstr "" -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:185 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:188 msgid "Scheduler is Inactive. Can't trigger job now." msgstr "" -#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:237 +#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:240 msgid "Scheduler is Inactive. Can't trigger jobs now." msgstr "" @@ -44050,7 +44046,7 @@ msgstr "" msgid "Search by invoice id or customer name" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:181 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:205 msgid "Search by item code, serial number or barcode" msgstr "" @@ -44078,8 +44074,8 @@ msgstr "" msgid "Secretary" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:194 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:117 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:112 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:90 msgid "Section Code" msgstr "" @@ -44117,11 +44113,11 @@ msgstr "" msgid "Select Alternate Item" msgstr "" -#: erpnext/selling/doctype/quotation/quotation.js:333 +#: erpnext/selling/doctype/quotation/quotation.js:342 msgid "Select Alternative Items for Sales Order" msgstr "" -#: erpnext/stock/doctype/item/item.js:708 +#: erpnext/stock/doctype/item/item.js:715 msgid "Select Attribute Values" msgstr "" @@ -44159,7 +44155,7 @@ msgstr "" msgid "Select Columns and Filters" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:136 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:152 msgid "Select Company" msgstr "" @@ -44207,7 +44203,7 @@ msgstr "" msgid "Select Employees" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:240 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:198 #: erpnext/selling/doctype/sales_order/sales_order.js:818 msgid "Select Finished Good" msgstr "" @@ -44220,6 +44216,7 @@ msgstr "" #: erpnext/manufacturing/doctype/sales_forecast/sales_forecast.json #: erpnext/selling/doctype/sales_order/sales_order.js:1588 #: erpnext/selling/doctype/sales_order/sales_order.js:1616 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:493 msgid "Select Items" msgstr "" @@ -44227,7 +44224,7 @@ msgstr "" msgid "Select Items based on Delivery Date" msgstr "" -#: erpnext/public/js/controllers/transaction.js:2841 +#: erpnext/public/js/controllers/transaction.js:2861 msgid "Select Items for Quality Inspection" msgstr "" @@ -44238,6 +44235,10 @@ msgstr "" msgid "Select Items to Manufacture" msgstr "" +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:500 +msgid "Select Items to Receive" +msgstr "" + #: erpnext/selling/doctype/sales_order/sales_order_list.js:87 msgid "Select Items up to Delivery Date" msgstr "" @@ -44248,12 +44249,12 @@ msgstr "" msgid "Select Job Worker Address" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1151 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1169 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:955 msgid "Select Loyalty Program" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:397 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:407 msgid "Select Possible Supplier" msgstr "" @@ -44332,7 +44333,7 @@ msgstr "" msgid "Select a Payment Method." msgstr "" -#: erpnext/selling/doctype/customer/customer.js:249 +#: erpnext/selling/doctype/customer/customer.js:251 msgid "Select a Supplier" msgstr "" @@ -44344,7 +44345,7 @@ msgstr "" msgid "Select a company" msgstr "" -#: erpnext/stock/doctype/item/item.js:1041 +#: erpnext/stock/doctype/item/item.js:1048 msgid "Select an Item Group." msgstr "" @@ -44356,15 +44357,15 @@ msgstr "" msgid "Select an invoice to load summary data" msgstr "" -#: erpnext/selling/doctype/quotation/quotation.js:348 +#: erpnext/selling/doctype/quotation/quotation.js:357 msgid "Select an item from each set to be used in the Sales Order." msgstr "" -#: erpnext/stock/doctype/item/item.js:721 +#: erpnext/stock/doctype/item/item.js:728 msgid "Select at least one value from each of the attributes." msgstr "" -#: erpnext/public/js/utils/party.js:356 +#: erpnext/public/js/utils/party.js:357 msgid "Select company first" msgstr "" @@ -44374,15 +44375,15 @@ msgstr "" msgid "Select company name first." msgstr "" -#: erpnext/controllers/accounts_controller.py:2973 +#: erpnext/controllers/accounts_controller.py:2977 msgid "Select finance book for the item {0} at row {1}" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_selector.js:191 +#: erpnext/selling/page/point_of_sale/pos_item_selector.js:215 msgid "Select item group" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:404 +#: erpnext/manufacturing/doctype/bom/bom.js:433 msgid "Select template item" msgstr "" @@ -44399,7 +44400,7 @@ msgstr "" msgid "Select the Item to be manufactured." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:928 +#: erpnext/manufacturing/doctype/bom/bom.js:957 msgid "Select the Item to be manufactured. The Item name, UoM, Company, and Currency will be fetched automatically." msgstr "" @@ -44412,7 +44413,7 @@ msgstr "" msgid "Select the customer or supplier." msgstr "" -#: erpnext/assets/doctype/asset/asset.js:807 +#: erpnext/assets/doctype/asset/asset.js:891 msgid "Select the date" msgstr "" @@ -44420,11 +44421,11 @@ msgstr "" msgid "Select the date and your timezone" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:947 +#: erpnext/manufacturing/doctype/bom/bom.js:976 msgid "Select the raw materials (Items) required to manufacture the Item" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:459 +#: erpnext/manufacturing/doctype/bom/bom.js:488 msgid "Select variant item code for the template item {0}" msgstr "" @@ -44448,7 +44449,7 @@ msgstr "" msgid "Selected POS Opening Entry should be open." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2490 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2566 msgid "Selected Price List should have buying and selling fields checked." msgstr "" @@ -44479,15 +44480,33 @@ msgstr "" msgid "Self delivery" msgstr "" +#: erpnext/assets/doctype/asset/asset.js:602 #: erpnext/stock/doctype/batch/batch_dashboard.py:9 #: erpnext/stock/doctype/item/item_dashboard.py:20 msgid "Sell" msgstr "" #: erpnext/assets/doctype/asset/asset.js:112 +#: erpnext/assets/doctype/asset/asset.js:591 msgid "Sell Asset" msgstr "" +#: erpnext/assets/doctype/asset/asset.js:596 +msgid "Sell Qty" +msgstr "" + +#: erpnext/assets/doctype/asset/asset.js:612 +msgid "Sell quantity cannot exceed the asset quantity" +msgstr "" + +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1413 +msgid "Sell quantity cannot exceed the asset quantity. Asset {0} has only {1} item(s)." +msgstr "" + +#: erpnext/assets/doctype/asset/asset.js:608 +msgid "Sell quantity must be greater than zero" +msgstr "" + #. Label of the selling (Check) field in DocType 'Pricing Rule' #. Label of the selling (Check) field in DocType 'Promotional Scheme' #. Option for the 'Shipping Rule Type' (Select) field in DocType 'Shipping @@ -44528,10 +44547,10 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Selling Workspace -#. Label of a shortcut in the Settings Workspace +#. Label of a shortcut in the ERPNext Settings Workspace #: erpnext/selling/doctype/selling_settings/selling_settings.json #: erpnext/selling/workspace/selling/selling.json -#: erpnext/setup/workspace/settings/settings.json +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json #: erpnext/stock/doctype/stock_settings/stock_settings.py:221 msgid "Selling Settings" msgstr "" @@ -44579,12 +44598,12 @@ msgstr "" msgid "Send Emails" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:57 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:48 msgid "Send Emails to Suppliers" msgstr "" #. Label of the send_sms (Button) field in DocType 'SMS Center' -#: erpnext/public/js/controllers/transaction.js:580 +#: erpnext/public/js/controllers/transaction.js:589 #: erpnext/selling/doctype/sms_center/sms_center.json msgid "Send SMS" msgstr "" @@ -44714,13 +44733,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:2815 +#: erpnext/public/js/controllers/transaction.js:2835 #: erpnext/public/js/utils/serial_no_batch_selector.js:421 #: 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:157 #: 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 @@ -44730,10 +44750,10 @@ msgstr "" #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:65 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:149 #: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.js:37 -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:446 +#: 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:60 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:337 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:336 #: 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 @@ -44771,11 +44791,11 @@ msgstr "" msgid "Serial No Range" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2317 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2398 msgid "Serial No Reserved" msgstr "" -#: erpnext/stock/doctype/item/item.py:426 +#: erpnext/stock/doctype/item/item.py:445 msgid "Serial No Series Overlap" msgstr "" @@ -44822,7 +44842,7 @@ msgstr "" msgid "Serial No and Batch Traceability" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1072 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1109 msgid "Serial No is mandatory" msgstr "" @@ -44851,11 +44871,11 @@ msgstr "" msgid "Serial No {0} does not exist" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3025 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:3135 msgid "Serial No {0} does not exists" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:327 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:356 msgid "Serial No {0} is already Delivered. You cannot use them again in Manufacture / Repack entry." msgstr "" @@ -44867,7 +44887,7 @@ 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:399 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:428 msgid "Serial No {0} is not present in the {1} {2}, hence you can't return it against the {1} {2}" msgstr "" @@ -44883,7 +44903,7 @@ msgstr "" msgid "Serial No {0} not found" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:879 +#: erpnext/selling/page/point_of_sale/pos_controller.js:852 msgid "Serial No: {0} has already been transacted into another POS Invoice." msgstr "" @@ -44891,6 +44911,7 @@ msgstr "" #: erpnext/public/js/utils/serial_no_batch_selector.js:16 #: erpnext/public/js/utils/serial_no_batch_selector.js:190 #: 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:157 msgid "Serial Nos" msgstr "" @@ -44904,15 +44925,15 @@ msgstr "" msgid "Serial Nos and Batches" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1636 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1684 msgid "Serial Nos are created successfully" msgstr "" -#: erpnext/stock/stock_ledger.py:2307 +#: erpnext/stock/stock_ledger.py:2274 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:333 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:362 msgid "Serial Nos {0} are already Delivered. You cannot use them again in Manufacture / Repack entry." msgstr "" @@ -44980,17 +45001,17 @@ 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:344 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:343 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:177 #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json msgid "Serial and Batch Bundle" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1858 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1906 msgid "Serial and Batch Bundle created" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1930 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1978 msgid "Serial and Batch Bundle updated" msgstr "" @@ -44998,7 +45019,7 @@ msgstr "" msgid "Serial and Batch Bundle {0} is already used in {1} {2}." msgstr "" -#: erpnext/stock/serial_batch_bundle.py:351 +#: erpnext/stock/serial_batch_bundle.py:355 msgid "Serial and Batch Bundle {0} is not submitted" msgstr "" @@ -45046,7 +45067,7 @@ msgstr "" msgid "Serial and Batch Summary" msgstr "" -#: erpnext/stock/utils.py:423 +#: erpnext/stock/utils.py:395 msgid "Serial number {0} entered more than once" msgstr "" @@ -45112,7 +45133,7 @@ msgstr "" #: erpnext/accounts/doctype/budget/budget.json #: erpnext/accounts/doctype/cashier_closing/cashier_closing.json #: erpnext/accounts/doctype/dunning/dunning.json -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:624 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:645 #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json #: erpnext/accounts/doctype/payment_entry/payment_entry.json @@ -45168,7 +45189,7 @@ msgstr "" msgid "Series for Asset Depreciation Entry (Journal Entry)" msgstr "" -#: erpnext/buying/doctype/supplier/supplier.py:140 +#: erpnext/buying/doctype/supplier/supplier.py:142 msgid "Series is mandatory" msgstr "" @@ -45249,7 +45270,7 @@ msgid "Service Item {0} is disabled." msgstr "" #: erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.py:67 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:175 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:183 msgid "Service Item {0} must be a non-stock item." msgstr "" @@ -45269,7 +45290,6 @@ msgstr "" #. Name of a DocType #. Label of a Card Break in the Support Workspace #. Label of a Link in the Support Workspace -#. Label of a shortcut in the Support Workspace #: erpnext/support/doctype/issue/issue.json #: erpnext/support/doctype/service_level_agreement/service_level_agreement.json #: erpnext/support/workspace/support/support.json @@ -45355,13 +45375,13 @@ msgstr "" msgid "Service Stop Date" msgstr "" -#: erpnext/accounts/deferred_revenue.py:45 -#: erpnext/public/js/controllers/transaction.js:1658 +#: erpnext/accounts/deferred_revenue.py:44 +#: erpnext/public/js/controllers/transaction.js:1679 msgid "Service Stop Date cannot be after Service End Date" msgstr "" -#: erpnext/accounts/deferred_revenue.py:42 -#: erpnext/public/js/controllers/transaction.js:1655 +#: erpnext/accounts/deferred_revenue.py:41 +#: erpnext/public/js/controllers/transaction.js:1676 msgid "Service Stop Date cannot be before Service Start Date" msgstr "" @@ -45431,11 +45451,11 @@ msgstr "" msgid "Set Landed Cost Based on Purchase Invoice Rate" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1163 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1181 msgid "Set Loyalty Program" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:305 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:304 msgid "Set New Release Date" msgstr "" @@ -45451,7 +45471,7 @@ msgstr "" msgid "Set Operating Cost Based On BOM Quantity" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:90 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:113 msgid "Set Parent Row No in Items Table" msgstr "" @@ -45460,7 +45480,7 @@ msgstr "" msgid "Set Posting Date" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:974 +#: erpnext/manufacturing/doctype/bom/bom.js:1003 msgid "Set Process Loss Item Quantity" msgstr "" @@ -45547,7 +45567,7 @@ msgid "Set as Completed" msgstr "" #: erpnext/public/js/utils/sales_common.js:569 -#: erpnext/selling/doctype/quotation/quotation.js:136 +#: erpnext/selling/doctype/quotation/quotation.js:145 msgid "Set as Lost" msgstr "" @@ -45569,11 +45589,11 @@ msgstr "" msgid "Set by Item Tax Template" msgstr "" -#: erpnext/setup/doctype/company/company.py:538 +#: erpnext/setup/doctype/company/company.py:545 msgid "Set default inventory account for perpetual inventory" msgstr "" -#: erpnext/setup/doctype/company/company.py:564 +#: erpnext/setup/doctype/company/company.py:571 msgid "Set default {0} account for non stock items" msgstr "" @@ -45583,7 +45603,7 @@ msgstr "" msgid "Set fieldname from which you want to fetch the data from the parent form." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:964 +#: erpnext/manufacturing/doctype/bom/bom.js:993 msgid "Set quantity of process loss item:" msgstr "" @@ -45613,15 +45633,15 @@ msgstr "" msgid "Set this if the customer is a Public Administration company." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:878 +#: erpnext/assets/doctype/asset/asset.py:892 msgid "Set {0} in asset category {1} for company {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1211 +#: erpnext/assets/doctype/asset/asset.py:1225 msgid "Set {0} in asset category {1} or company {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1208 +#: erpnext/assets/doctype/asset/asset.py:1222 msgid "Set {0} in company {1}" msgstr "" @@ -45688,8 +45708,8 @@ msgstr "" msgid "Setting up company" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1127 -#: erpnext/manufacturing/doctype/work_order/work_order.py:1445 +#: erpnext/manufacturing/doctype/bom/bom.py:1131 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1449 msgid "Setting {0} is required" msgstr "" @@ -45701,9 +45721,11 @@ msgstr "" #. Option for the 'Status' (Select) field in DocType 'Bank Transaction' #. Option for the 'Status' (Select) field in DocType 'Invoice Discounting' +#. Option for the 'Status' (Select) field in DocType 'Tax Withholding Entry' #: erpnext/accounts/doctype/bank_transaction/bank_transaction.json #: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json #: erpnext/accounts/doctype/invoice_discounting/invoice_discounting_list.js:11 +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json msgid "Settled" msgstr "" @@ -45777,7 +45799,7 @@ msgid "Shelf Life in Days" msgstr "" #. Label of the shift (Link) field in DocType 'Depreciation Schedule' -#: erpnext/assets/doctype/asset/asset.js:313 +#: erpnext/assets/doctype/asset/asset.js:351 #: erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.json msgid "Shift" msgstr "" @@ -45884,7 +45906,7 @@ msgstr "" msgid "Shipping Address Template" msgstr "" -#: erpnext/controllers/accounts_controller.py:575 +#: erpnext/controllers/accounts_controller.py:573 msgid "Shipping Address does not belong to the {0}" msgstr "" @@ -46208,7 +46230,7 @@ msgstr "" msgid "Show Variant Attributes" msgstr "" -#: erpnext/stock/doctype/item/item.js:138 +#: erpnext/stock/doctype/item/item.js:143 msgid "Show Variants" msgstr "" @@ -46248,7 +46270,7 @@ msgstr "" msgid "Show only the Immediate Upcoming Term" msgstr "" -#: erpnext/stock/utils.py:585 +#: erpnext/stock/utils.py:557 msgid "Show pending entries" msgstr "" @@ -46350,7 +46372,7 @@ msgstr "" 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 "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:105 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:111 msgid "Since {0} are Serial No/Batch No items, you cannot enable 'Recreate Stock Ledgers' in Repost Item Valuation." msgstr "" @@ -46365,13 +46387,7 @@ msgstr "" msgid "Single Tier Program" msgstr "" -#. Label of the single_threshold (Float) field in DocType 'Tax Withholding -#. Rate' -#: erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.json -msgid "Single Transaction Threshold" -msgstr "" - -#: erpnext/stock/doctype/item/item.js:163 +#: erpnext/stock/doctype/item/item.js:168 msgid "Single Variant" msgstr "" @@ -46398,10 +46414,6 @@ msgstr "" msgid "Skip Material Transfer to WIP Warehouse" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:141 -msgid "Skipping Tax Withholding Category {0} as there is no associated account set for Company {1} in it." -msgstr "" - #. Label of the customer_skype (Data) field in DocType 'Appointment' #: erpnext/crm/doctype/appointment/appointment.json msgid "Skype ID" @@ -46449,7 +46461,7 @@ msgstr "" msgid "Solvency Ratios" msgstr "" -#: erpnext/controllers/accounts_controller.py:4303 +#: erpnext/controllers/accounts_controller.py:4311 msgid "Some required Company details are missing. You don't have permission to update them. Please contact your System Manager." msgstr "" @@ -46457,15 +46469,15 @@ msgstr "" msgid "Something went wrong please try again" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:755 +#: erpnext/accounts/doctype/pricing_rule/utils.py:754 msgid "Sorry, this coupon code is no longer valid" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:753 +#: erpnext/accounts/doctype/pricing_rule/utils.py:752 msgid "Sorry, this coupon code's validity has expired" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:751 +#: erpnext/accounts/doctype/pricing_rule/utils.py:750 msgid "Sorry, this coupon code's validity has not started" msgstr "" @@ -46487,7 +46499,7 @@ msgstr "" msgid "Source Document Name" msgstr "" -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:488 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:492 msgid "Source Document No" msgstr "" @@ -46532,7 +46544,7 @@ msgstr "" #. Label of the s_warehouse (Link) field in DocType 'Stock Entry Detail' #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/manufacturing/doctype/bom/bom.js:431 +#: erpnext/manufacturing/doctype/bom/bom.js:460 #: erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json #: erpnext/manufacturing/doctype/bom_item/bom_item.json #: erpnext/manufacturing/doctype/bom_operation/bom_operation.json @@ -46545,7 +46557,7 @@ msgstr "" #: erpnext/public/js/utils/sales_common.js:541 #: 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:681 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:699 #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json msgid "Source Warehouse" msgstr "" @@ -46561,11 +46573,11 @@ msgstr "" msgid "Source Warehouse Address Link" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1163 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1164 msgid "Source Warehouse is mandatory for the Item {0}." msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:282 +#: erpnext/manufacturing/doctype/work_order/work_order.py:285 msgid "Source Warehouse {0} must be same as Customer Warehouse {1} in the Subcontracting Inward Order." msgstr "" @@ -46573,7 +46585,7 @@ msgstr "" msgid "Source and Target Location cannot be same" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:770 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:781 msgid "Source and target warehouse cannot be same for row {0}" msgstr "" @@ -46588,6 +46600,7 @@ msgstr "" #: erpnext/stock/doctype/stock_entry/stock_entry.py:747 #: erpnext/stock/doctype/stock_entry/stock_entry.py:764 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:771 msgid "Source warehouse is mandatory for row {0}" msgstr "" @@ -46621,11 +46634,11 @@ msgstr "" msgid "Specify conditions to calculate shipping amount" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:217 +#: erpnext/accounts/doctype/budget/budget.py:215 msgid "Spending for Account {0} ({1}) between {2} and {3} has already exceeded the new allocated budget. Spent: {4}, Budget: {5}" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:568 +#: erpnext/assets/doctype/asset/asset.js:652 #: erpnext/stock/doctype/batch/batch.js:91 #: erpnext/stock/doctype/batch/batch.js:183 #: erpnext/support/doctype/issue/issue.js:114 @@ -46633,7 +46646,7 @@ msgid "Split" msgstr "" #: erpnext/assets/doctype/asset/asset.js:128 -#: erpnext/assets/doctype/asset/asset.js:552 +#: erpnext/assets/doctype/asset/asset.js:636 msgid "Split Asset" msgstr "" @@ -46656,15 +46669,15 @@ msgstr "" msgid "Split Issue" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:558 +#: erpnext/assets/doctype/asset/asset.js:642 msgid "Split Qty" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1350 +#: erpnext/assets/doctype/asset/asset.py:1364 msgid "Split Quantity must be less than Asset Quantity" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2519 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2440 msgid "Splitting {0} {1} into {2} rows as per Payment Terms" msgstr "" @@ -46741,7 +46754,7 @@ msgstr "" #: erpnext/setup/setup_wizard/operations/defaults_setup.py:70 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:484 -#: erpnext/stock/doctype/item/item.py:248 +#: erpnext/stock/doctype/item/item.py:263 msgid "Standard Selling" msgstr "" @@ -46826,7 +46839,7 @@ msgstr "" #: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.js:56 #: erpnext/accounts/report/financial_ratios/financial_ratios.js:17 #: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:81 -#: erpnext/public/js/financial_statements.js:343 +#: erpnext/public/js/financial_statements.js:382 msgid "Start Year" msgstr "" @@ -46895,7 +46908,7 @@ msgstr "" msgid "Status Illustration" msgstr "" -#: erpnext/projects/doctype/project/project.py:712 +#: erpnext/projects/doctype/project/project.py:710 msgid "Status must be Cancelled or Completed" msgstr "" @@ -46903,7 +46916,7 @@ msgstr "" msgid "Status must be one of {0}" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:271 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:275 msgid "Status set to rejected as there are one or more rejected readings." msgstr "" @@ -46931,8 +46944,8 @@ msgstr "" #: 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:1355 -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1381 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1357 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1383 #: erpnext/accounts/report/account_balance/account_balance.js:58 msgid "Stock Adjustment" msgstr "" @@ -46977,7 +46990,6 @@ msgstr "" #. Label of the stock_balance (Button) field in DocType 'Quotation Item' #. Name of a report #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/stock/doctype/item/item.js:90 #: erpnext/stock/doctype/warehouse/warehouse.js:61 @@ -47013,11 +47025,11 @@ msgstr "" msgid "Stock Closing Entry" msgstr "" -#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:77 +#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:79 msgid "Stock Closing Entry {0} already exists for the selected date range" msgstr "" -#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:98 +#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:100 msgid "Stock Closing Entry {0} has been queued for processing, system will take sometime to complete it." msgstr "" @@ -47034,7 +47046,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:864 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:875 msgid "Stock Entries already created for Work Order {0}: {1}" msgstr "" @@ -47050,11 +47062,11 @@ msgstr "" #. Option for the 'From Voucher Type' (Select) field in DocType 'Stock #. Reservation Entry' #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/manufacturing/workspace/manufacturing/manufacturing.json #: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json #: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json +#: erpnext/stock/doctype/pick_list/pick_list.js:138 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json #: erpnext/stock/doctype/stock_entry/stock_entry.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json @@ -47089,7 +47101,7 @@ msgstr "" msgid "Stock Entry Type" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:1426 +#: erpnext/stock/doctype/pick_list/pick_list.py:1437 msgid "Stock Entry has been already created against this Pick List" msgstr "" @@ -47097,11 +47109,11 @@ msgstr "" msgid "Stock Entry {0} created" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1370 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1396 msgid "Stock Entry {0} has created" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1284 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1306 msgid "Stock Entry {0} is not submitted" msgstr "" @@ -47129,7 +47141,6 @@ msgstr "" #. Name of a report #. Label of a Link in the Stock Workspace -#. Label of a shortcut in the Stock Workspace #: erpnext/public/js/controllers/stock_controller.js:67 #: erpnext/public/js/utils/ledger_preview.js:37 #: erpnext/stock/doctype/item/item.js:100 @@ -47153,7 +47164,7 @@ msgid "Stock Ledger Entry" 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:110 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:139 msgid "Stock Ledger ID" msgstr "" @@ -47174,7 +47185,7 @@ msgid "Stock Ledgers won’t be reposted." msgstr "" #: erpnext/stock/doctype/batch/batch.js:79 -#: erpnext/stock/doctype/item/item.js:561 +#: erpnext/stock/doctype/item/item.js:568 msgid "Stock Levels" msgstr "" @@ -47289,7 +47300,7 @@ msgstr "" #. Option for the 'Purpose' (Select) field in DocType 'Stock Reconciliation' #. Label of a Link in the Stock Workspace #: erpnext/setup/workspace/home/home.json -#: erpnext/stock/doctype/item/item.py:617 +#: erpnext/stock/doctype/item/item.py:636 #: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json #: erpnext/stock/workspace/stock/stock.json msgid "Stock Reconciliation" @@ -47300,7 +47311,7 @@ msgstr "" msgid "Stock Reconciliation Item" msgstr "" -#: erpnext/stock/doctype/item/item.py:617 +#: erpnext/stock/doctype/item/item.py:636 msgid "Stock Reconciliations" msgstr "" @@ -47335,15 +47346,15 @@ msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.js:165 #: erpnext/stock/doctype/pick_list/pick_list.js:170 #: erpnext/stock/doctype/stock_entry/stock_entry_dashboard.py:12 -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:719 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:718 #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:674 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1236 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1643 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1656 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1670 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1684 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1698 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1715 +#: 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_settings/stock_settings.json #: erpnext/stock/doctype/stock_settings/stock_settings.py:178 #: erpnext/stock/doctype/stock_settings/stock_settings.py:190 @@ -47356,18 +47367,18 @@ msgstr "" msgid "Stock Reservation" msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1824 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1825 msgid "Stock Reservation Entries Cancelled" msgstr "" #: erpnext/controllers/subcontracting_inward_controller.py:995 -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:2211 -#: erpnext/manufacturing/doctype/work_order/work_order.py:2059 -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1776 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:2231 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2063 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1777 msgid "Stock Reservation Entries Created" msgstr "" -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:445 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py:453 msgid "Stock Reservation Entries created" msgstr "" @@ -47423,12 +47434,12 @@ msgstr "" #. Label of the auto_accounting_for_stock_settings (Section Break) field in #. DocType 'Company' -#. Label of a shortcut in the Settings Workspace +#. Label of a shortcut in the ERPNext Settings Workspace #. Name of a DocType #. Label of a Link in the Stock Workspace #: erpnext/selling/doctype/selling_settings/selling_settings.py:93 #: erpnext/setup/doctype/company/company.json -#: erpnext/setup/workspace/settings/settings.json +#: erpnext/setup/workspace/erpnext_settings/erpnext_settings.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:675 #: erpnext/stock/doctype/stock_settings/stock_settings.json #: erpnext/stock/workspace/stock/stock.json @@ -47509,7 +47520,7 @@ msgstr "" #: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:213 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:216 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:214 #: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json #: erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json #: erpnext/manufacturing/doctype/bom_item/bom_item.json @@ -47536,7 +47547,7 @@ msgstr "" #: erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py:35 #: erpnext/stock/report/reserved_stock/reserved_stock.py:110 #: erpnext/stock/report/stock_balance/stock_balance.py:436 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:215 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:214 #: 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_scrap_item/subcontracting_inward_order_scrap_item.json @@ -47634,7 +47645,7 @@ 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:126 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:160 msgid "Stock Value" msgstr "" @@ -47657,23 +47668,23 @@ msgstr "" msgid "Stock cannot be reserved in group warehouse {0}." msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1588 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1589 msgid "Stock cannot be reserved in the group warehouse {0}." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:734 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:736 msgid "Stock cannot be updated against Purchase Receipt {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1202 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1228 msgid "Stock cannot be updated against the following Delivery Notes: {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1271 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1297 msgid "Stock cannot be updated because the invoice contains a drop shipping item. Please disable 'Update Stock' or remove the drop shipping item." msgstr "" -#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1130 +#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1131 msgid "Stock has been unreserved for work order {0}." msgstr "" @@ -47681,11 +47692,11 @@ msgstr "" msgid "Stock not available for Item {0} in Warehouse {1}." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:859 +#: erpnext/selling/page/point_of_sale/pos_controller.js:832 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 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:255 msgid "Stock transactions before {0} are frozen" msgstr "" @@ -47701,7 +47712,7 @@ msgstr "" msgid "Stock will be reserved on submission of Purchase Receipt created against Material Request for Sales Order." msgstr "" -#: erpnext/stock/utils.py:576 +#: erpnext/stock/utils.py:548 msgid "Stock/Accounts can not be frozen as processing of backdated entries is going on. Please try again later." msgstr "" @@ -47716,14 +47727,14 @@ msgstr "" msgid "Stop Reason" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1055 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1059 msgid "Stopped Work Order cannot be cancelled, Unstop it first to cancel" msgstr "" -#: erpnext/setup/doctype/company/company.py:375 +#: erpnext/setup/doctype/company/company.py:382 #: erpnext/setup/setup_wizard/operations/defaults_setup.py:33 #: erpnext/setup/setup_wizard/operations/install_fixtures.py:528 -#: erpnext/stock/doctype/item/item.py:285 +#: erpnext/stock/doctype/item/item.py:304 msgid "Stores" msgstr "" @@ -47805,7 +47816,7 @@ msgstr "" msgid "Sub Total" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:600 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:620 msgid "Sub assembly item references are missing. Please fetch the sub assemblies and raw materials again." msgstr "" @@ -48007,8 +48018,8 @@ msgstr "" #. Receipt Item' #. Label of the subcontracting_order (Link) field in DocType 'Subcontracting #. Receipt Supplied Item' -#: erpnext/buying/doctype/purchase_order/purchase_order.js:441 -#: erpnext/controllers/subcontracting_controller.py:1140 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:399 +#: erpnext/controllers/subcontracting_controller.py:1139 #: erpnext/manufacturing/workspace/manufacturing/manufacturing.json #: erpnext/stock/doctype/stock_entry/stock_entry.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json @@ -48028,6 +48039,7 @@ msgstr "" #. Name of a DocType #. Label of the subcontracting_order_item (Data) field in DocType #. 'Subcontracting Receipt Item' +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:549 #: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json msgid "Subcontracting Order Item" @@ -48044,7 +48056,7 @@ msgstr "" msgid "Subcontracting Order Supplied Item" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:968 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:915 msgid "Subcontracting Order {0} created." msgstr "" @@ -48081,7 +48093,7 @@ msgstr "" #: erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json #: erpnext/stock/doctype/quality_inspection/quality_inspection.json -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:530 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:643 #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json #: erpnext/subcontracting/workspace/subcontracting/subcontracting.json msgid "Subcontracting Receipt" @@ -48126,8 +48138,8 @@ msgstr "" msgid "Subdivision" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:964 -#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1048 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:911 +#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:1047 msgid "Submit Action Failed" msgstr "" @@ -48151,7 +48163,7 @@ msgstr "" msgid "Submit this Work Order for further processing." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:281 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:296 msgid "Submit your Quotation" msgstr "" @@ -48183,11 +48195,11 @@ msgstr "" msgid "Subscription End Date" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:360 +#: erpnext/accounts/doctype/subscription/subscription.py:363 msgid "Subscription End Date is mandatory to follow calendar months" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:350 +#: erpnext/accounts/doctype/subscription/subscription.py:353 msgid "Subscription End Date must be after {0} as per the subscription plan" msgstr "" @@ -48260,7 +48272,7 @@ msgstr "" msgid "Subscription Start Date" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:719 +#: erpnext/accounts/doctype/subscription/subscription.py:735 msgid "Subscription for Future dates cannot be processed." msgstr "" @@ -48295,7 +48307,7 @@ msgstr "" msgid "Successful" msgstr "" -#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:568 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:578 msgid "Successfully Reconciled" msgstr "" @@ -48303,7 +48315,7 @@ msgstr "" msgid "Successfully Set Supplier" msgstr "" -#: erpnext/stock/doctype/item/item.py:339 +#: erpnext/stock/doctype/item/item.py:358 msgid "Successfully changed Stock UOM, please redefine conversion factors for new UOM." msgstr "" @@ -48327,7 +48339,7 @@ msgstr "" msgid "Successfully linked to Customer" msgstr "" -#: erpnext/selling/doctype/customer/customer.js:271 +#: erpnext/selling/doctype/customer/customer.js:273 msgid "Successfully linked to Supplier" msgstr "" @@ -48356,11 +48368,11 @@ msgstr "" msgid "Suggestions" msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:188 +#: erpnext/setup/doctype/email_digest/email_digest.py:186 msgid "Summary for this month and pending activities" msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:185 +#: erpnext/setup/doctype/email_digest/email_digest.py:183 msgid "Summary for this week and pending activities" msgstr "" @@ -48399,7 +48411,6 @@ msgstr "" #. 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' -#. Label of a Link in the Payables Workspace #. Option for the 'Asset Owner' (Select) field in DocType 'Asset' #. Label of the supplier (Link) field in DocType 'Asset' #. Label of the supplier (Link) field in DocType 'Purchase Order' @@ -48445,14 +48456,13 @@ msgstr "" #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js:34 #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:183 #: erpnext/accounts/report/purchase_register/purchase_register.js:21 -#: erpnext/accounts/report/purchase_register/purchase_register.py:171 +#: erpnext/accounts/report/purchase_register/purchase_register.py:170 #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:29 #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:37 -#: erpnext/accounts/workspace/payables/payables.json #: erpnext/assets/doctype/asset/asset.json #: erpnext/buying/doctype/purchase_order/purchase_order.json -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:197 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:256 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:188 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:266 #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json #: erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json #: erpnext/buying/doctype/supplier/supplier.json @@ -48468,7 +48478,7 @@ msgstr "" #: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js:15 #: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:30 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:51 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:197 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:195 #: erpnext/buying/workspace/buying/buying.json #: erpnext/crm/doctype/contract/contract.json #: erpnext/manufacturing/doctype/blanket_order/blanket_order.json @@ -48477,7 +48487,7 @@ msgstr "" #: erpnext/public/js/purchase_trends_filters.js:63 #: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.json #: erpnext/regional/report/irs_1099/irs_1099.py:77 -#: erpnext/selling/doctype/customer/customer.js:253 +#: erpnext/selling/doctype/customer/customer.js:255 #: erpnext/selling/doctype/party_specific_item/party_specific_item.json #: erpnext/selling/doctype/sales_order/sales_order.js:182 #: erpnext/selling/doctype/sales_order/sales_order.js:1652 @@ -48491,7 +48501,7 @@ msgstr "" #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json #: erpnext/stock/doctype/shipment/shipment.json #: erpnext/stock/doctype/stock_entry/stock_entry.json -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:520 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:524 #: erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.js:8 msgid "Supplier" msgstr "" @@ -48559,6 +48569,7 @@ msgstr "" #. Label of the supplier_group (Link) field in DocType 'Purchase Invoice' #. Label of the supplier_group (Link) field in DocType 'Supplier Group Item' #. Label of the supplier_group (Link) field in DocType 'Tax Rule' +#. Label of the supplier_group (Link) field in DocType 'Purchase Order' #. Label of the supplier_group (Link) field in DocType 'Supplier' #. Label of a Link in the Buying Workspace #. Label of the supplier_group (Link) field in DocType 'Import Supplier @@ -48571,13 +48582,14 @@ msgstr "" #: erpnext/accounts/doctype/tax_rule/tax_rule.json #: erpnext/accounts/report/accounts_payable/accounts_payable.js:108 #: erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js:91 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1257 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1261 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:198 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:180 #: erpnext/accounts/report/purchase_register/purchase_register.js:27 -#: erpnext/accounts/report/purchase_register/purchase_register.py:186 +#: erpnext/accounts/report/purchase_register/purchase_register.py:185 #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:55 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:489 +#: erpnext/buying/doctype/purchase_order/purchase_order.json +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:499 #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:105 #: erpnext/buying/workspace/buying/buying.json @@ -48615,11 +48627,11 @@ 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:238 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:145 msgid "Supplier Invoice Date" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1748 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1750 msgid "Supplier Invoice Date cannot be greater than Posting Date" msgstr "" @@ -48630,11 +48642,11 @@ msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/report/general_ledger/general_ledger.html:110 #: erpnext/accounts/report/general_ledger/general_ledger.py:791 -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:232 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:139 msgid "Supplier Invoice No" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1775 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1777 msgid "Supplier Invoice No exists in Purchase Invoice {0}" msgstr "" @@ -48655,10 +48667,8 @@ msgstr "" #. Name of a report #. Label of a Link in the Financial Reports Workspace -#. Label of a Link in the Payables Workspace #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.json #: erpnext/accounts/workspace/financial_reports/financial_reports.json -#: erpnext/accounts/workspace/payables/payables.json msgid "Supplier Ledger Summary" msgstr "" @@ -48674,10 +48684,10 @@ 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:1174 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1178 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:156 #: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:190 -#: erpnext/accounts/report/purchase_register/purchase_register.py:177 +#: erpnext/accounts/report/purchase_register/purchase_register.py:176 #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:35 #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:73 #: erpnext/buying/doctype/buying_settings/buying_settings.json @@ -48754,14 +48764,14 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Buying Workspace #. Label of the supplier_quotation (Link) field in DocType 'Quotation' -#: erpnext/buying/doctype/purchase_order/purchase_order.js:607 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:565 #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:49 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:40 #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.py:234 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:60 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:258 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:256 #: erpnext/buying/workspace/buying/buying.json #: erpnext/crm/doctype/opportunity/opportunity.js:81 #: erpnext/selling/doctype/quotation/quotation.json @@ -48771,7 +48781,7 @@ msgstr "" #. Name of a report #. Label of a Link in the Buying Workspace -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:163 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:154 #: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.json #: erpnext/buying/workspace/buying/buying.json msgid "Supplier Quotation Comparison" @@ -48785,7 +48795,7 @@ msgstr "" msgid "Supplier Quotation Item" msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:457 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:479 msgid "Supplier Quotation {0} Created" msgstr "" @@ -48918,8 +48928,8 @@ msgstr "" msgid "Supplies subject to the reverse charge provision" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:315 -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:380 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:314 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:379 msgid "Supply" msgstr "" @@ -49022,7 +49032,7 @@ msgstr "" msgid "System will fetch all the entries if limit value is zero." msgstr "" -#: erpnext/controllers/accounts_controller.py:2220 +#: erpnext/controllers/accounts_controller.py:2224 msgid "System will not check over billing since amount for Item {0} in {1} is zero" msgstr "" @@ -49032,25 +49042,12 @@ msgstr "" msgid "System will notify to increase or decrease quantity or amount " msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:267 -msgid "TCS Amount" -msgstr "" - -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:249 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:125 -msgid "TCS Rate %" -msgstr "" - -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:267 -msgid "TDS Amount" -msgstr "" - #. Name of a report #: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.json msgid "TDS Computation Summary" msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1532 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1534 msgid "TDS Deducted" msgstr "" @@ -49058,11 +49055,6 @@ msgstr "" msgid "TDS Payable" msgstr "" -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:249 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:125 -msgid "TDS Rate %" -msgstr "" - #. Description of a DocType #: erpnext/stock/doctype/item_website_specification/item_website_specification.json msgid "Table for Item that will be shown in Web Site" @@ -49087,23 +49079,23 @@ msgstr "" msgid "Target Asset" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:226 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:225 msgid "Target Asset {0} cannot be cancelled" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:224 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:223 msgid "Target Asset {0} cannot be submitted" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:220 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:219 msgid "Target Asset {0} cannot be {1}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:230 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:229 msgid "Target Asset {0} does not belong to company {1}" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:209 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:208 msgid "Target Asset {0} needs to be composite asset" msgstr "" @@ -49117,7 +49109,7 @@ msgstr "" msgid "Target Detail" msgstr "" -#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:11 +#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:12 #: erpnext/accounts/doctype/monthly_distribution/monthly_distribution_dashboard.py:13 msgid "Target Details" msgstr "" @@ -49172,7 +49164,7 @@ msgstr "" msgid "Target Item Code" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:191 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:190 msgid "Target Item {0} must be a Fixed Asset item" msgstr "" @@ -49202,7 +49194,7 @@ msgstr "" msgid "Target Qty" msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:196 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:195 msgid "Target Qty must be a positive number" msgstr "" @@ -49229,7 +49221,7 @@ 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:687 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:705 #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json msgid "Target Warehouse" msgstr "" @@ -49245,7 +49237,7 @@ msgstr "" msgid "Target Warehouse Address Link" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:237 +#: erpnext/manufacturing/doctype/work_order/work_order.py:240 msgid "Target Warehouse Reservation Error" msgstr "" @@ -49253,7 +49245,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:737 +#: erpnext/manufacturing/doctype/work_order/work_order.py:741 msgid "Target Warehouse is required before Submit" msgstr "" @@ -49261,12 +49253,13 @@ 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:298 +#: erpnext/manufacturing/doctype/work_order/work_order.py:301 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:753 #: erpnext/stock/doctype/stock_entry/stock_entry.py:760 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:775 msgid "Target warehouse is mandatory for row {0}" msgstr "" @@ -49358,7 +49351,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/tds_computation_summary/tds_computation_summary.py:137 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:169 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:115 msgid "Tax Amount" msgstr "" @@ -49470,9 +49464,11 @@ msgstr "" msgid "Tax Expense" msgstr "" +#. Label of the tax_id (Data) field in DocType 'Tax Withholding Entry' #. Label of the tax_id (Data) field in DocType 'Supplier' #. Label of the tax_id (Data) field in DocType 'Customer' #. Label of the tax_id (Data) field in DocType 'Company' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/regional/report/irs_1099/irs_1099.py:82 #: erpnext/selling/doctype/customer/customer.json @@ -49490,9 +49486,11 @@ msgstr "" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:86 #: erpnext/accounts/report/general_ledger/general_ledger.js:141 -#: erpnext/accounts/report/purchase_register/purchase_register.py:192 -#: erpnext/accounts/report/sales_register/sales_register.py:215 +#: erpnext/accounts/report/purchase_register/purchase_register.py:191 +#: erpnext/accounts/report/sales_register/sales_register.py:214 #: erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js:67 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:118 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:75 #: erpnext/selling/doctype/sales_order/sales_order.json #: erpnext/stock/doctype/delivery_note/delivery_note.json msgid "Tax Id" @@ -49517,17 +49515,24 @@ msgstr "" #. Label of the rate (Float) field in DocType 'Item Wise Tax Detail' #. Label of the rate (Float) field in DocType 'Purchase Taxes and Charges' #. Label of the rate (Float) field in DocType 'Sales Taxes and Charges' +#. Label of the tax_rate (Percent) field in DocType 'Tax Withholding Entry' #: erpnext/accounts/doctype/account/account.json -#: erpnext/accounts/doctype/account/account_tree.js:174 +#: erpnext/accounts/doctype/account/account_tree.js:175 #: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json #: erpnext/accounts/doctype/item_tax_template_detail/item_tax_template_detail.json #: erpnext/accounts/doctype/item_wise_tax_detail/item_wise_tax_detail.json #: erpnext/accounts/doctype/pos_closing_entry/closing_voucher_details.html:66 #: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json #: 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 "" +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:151 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:103 +msgid "Tax Rate %" +msgstr "" + #. Label of the taxes (Table) field in DocType 'Item Tax Template' #: erpnext/accounts/doctype/item_tax_template/item_tax_template.json msgid "Tax Rates" @@ -49563,7 +49568,7 @@ msgstr "" msgid "Tax Template is mandatory." msgstr "" -#: erpnext/accounts/report/sales_register/sales_register.py:295 +#: erpnext/accounts/report/sales_register/sales_register.py:294 msgid "Tax Total" msgstr "" @@ -49572,20 +49577,6 @@ msgstr "" msgid "Tax Type" msgstr "" -#. Label of the tax_withheld_vouchers_section (Section Break) field in DocType -#. 'Purchase Invoice' -#. Label of the tax_withheld_vouchers (Table) field in DocType 'Purchase -#. Invoice' -#. Name of a DocType -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json -#: erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json -msgid "Tax Withheld Vouchers" -msgstr "" - -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:361 -msgid "Tax Withholding" -msgstr "" - #. Name of a DocType #: erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.json msgid "Tax Withholding Account" @@ -49596,46 +49587,89 @@ msgstr "" #. Label of the tax_withholding_category (Link) field in DocType 'Payment #. Entry' #. Label of the tax_withholding_category (Link) field in DocType 'Purchase -#. Invoice' +#. Invoice Item' +#. Label of the tax_withholding_category (Link) field in DocType 'Sales Invoice +#. Item' #. Name of a DocType +#. Label of the tax_withholding_category (Link) field in DocType 'Tax +#. Withholding Entry' #. Label of a Link in the Accounting Workspace -#. Label of the tax_withholding_category (Link) field in DocType 'Purchase -#. Order' #. Label of the tax_withholding_category (Link) field in DocType 'Supplier' #. Label of the tax_withholding_category (Link) field in DocType 'Lower #. Deduction Certificate' #. Label of the tax_withholding_category (Link) field in DocType 'Customer' #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/payment_entry/payment_entry.json -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json +#: 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/workspace/accounting/accounting.json -#: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.json #: erpnext/selling/doctype/customer/customer.json msgid "Tax Withholding Category" msgstr "" -#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:152 -msgid "Tax Withholding Category {} against Company {} for Customer {} should have Cumulative Threshold value." -msgstr "" - #. Name of a report #: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.json msgid "Tax Withholding Details" msgstr "" -#. Label of the tax_withholding_net_total (Currency) field in DocType 'Purchase +#. 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_net_total (Currency) field in DocType 'Purchase -#. Order' -#. Label of the tax_withholding_net_total (Currency) field in DocType 'Purchase -#. Receipt' +#. 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 -#: erpnext/buying/doctype/purchase_order/purchase_order.json -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json -msgid "Tax Withholding Net Total" +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +msgid "Tax Withholding Entries" +msgstr "" + +#. Label of the section_tax_withholding_entry (Section Break) field in DocType +#. 'Journal Entry' +#. 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/journal_entry/journal_entry.json +#: erpnext/accounts/doctype/payment_entry/payment_entry.json +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Tax Withholding Entry" +msgstr "" + +#. Label of the tax_withholding_group (Link) field in DocType 'Journal Entry' +#. Label of the tax_withholding_group (Link) field in DocType 'Payment Entry' +#. Label of the tax_withholding_group (Link) field in DocType 'Purchase +#. Invoice' +#. Label of the tax_withholding_group (Link) field in DocType 'Sales Invoice' +#. 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' +#: erpnext/accounts/doctype/journal_entry/journal_entry.json +#: erpnext/accounts/doctype/payment_entry/payment_entry.json +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +#: erpnext/accounts/doctype/tax_withholding_group/tax_withholding_group.json +#: erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.json +#: erpnext/buying/doctype/supplier/supplier.json +#: erpnext/selling/doctype/customer/customer.json +msgid "Tax Withholding Group" msgstr "" #. Name of a DocType @@ -49671,19 +49705,32 @@ msgstr "" #. Description of the 'Only Deduct Tax On Excess Amount ' (Check) field in #. DocType 'Tax Withholding Category' #: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json -msgid "Tax will be withheld only for amount exceeding the cumulative threshold" +msgid "Tax withheld only for amount exceeding cumulative threshold" msgstr "" #. Label of the taxable_amount (Currency) field in DocType 'Item Wise Tax #. Detail' -#. Label of the taxable_amount (Currency) field in DocType 'Tax Withheld -#. Vouchers' #: erpnext/accounts/doctype/item_wise_tax_detail/item_wise_tax_detail.json -#: erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json -#: erpnext/controllers/taxes_and_totals.py:1221 +#: erpnext/controllers/taxes_and_totals.py:1206 msgid "Taxable Amount" msgstr "" +#. Label of the taxable_date (Date) field in DocType 'Tax Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Taxable Date" +msgstr "" + +#. Label of the taxable_name (Dynamic Link) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Taxable Document Name" +msgstr "" + +#. Label of the taxable_doctype (Link) field in DocType 'Tax Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Taxable Document Type" +msgstr "" + #. Label of the taxes (Table) field in DocType 'POS Closing Entry' #. Label of the sb_1 (Section Break) field in DocType 'Subscription' #. Label of the taxes_section (Section Break) field in DocType 'Sales Order' @@ -49820,7 +49867,7 @@ msgstr "" msgid "Taxes and Charges Deducted (Company Currency)" msgstr "" -#: erpnext/stock/doctype/item/item.py:352 +#: erpnext/stock/doctype/item/item.py:371 msgid "Taxes row #{0}: {1} cannot be smaller than {2}" msgstr "" @@ -49867,7 +49914,7 @@ msgstr "" msgid "Television" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:383 +#: erpnext/manufacturing/doctype/bom/bom.js:412 msgid "Template Item" msgstr "" @@ -50089,7 +50136,7 @@ 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:131 -#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1241 +#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1245 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js:97 #: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:182 #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:68 @@ -50098,7 +50145,7 @@ msgstr "" #: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js:8 #: erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py:21 #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:251 -#: erpnext/accounts/report/sales_register/sales_register.py:209 +#: erpnext/accounts/report/sales_register/sales_register.py:208 #: erpnext/crm/doctype/lead/lead.json #: erpnext/crm/doctype/opportunity/opportunity.json #: erpnext/crm/doctype/prospect/prospect.json @@ -50165,11 +50212,6 @@ msgstr "" msgid "Territory Targets" msgstr "" -#. Label of a chart in the CRM Workspace -#: erpnext/crm/workspace/crm/crm.json -msgid "Territory Wise Sales" -msgstr "" - #. Name of a report #: erpnext/selling/report/territory_wise_sales/territory_wise_sales.json msgid "Territory-wise Sales" @@ -50190,7 +50232,7 @@ msgstr "" msgid "The 'From Package No.' field must neither be empty nor it's value less than 1." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:373 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:395 msgid "The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings." msgstr "" @@ -50199,7 +50241,7 @@ msgstr "" msgid "The BOM which will be replaced" msgstr "" -#: erpnext/stock/serial_batch_bundle.py:1506 +#: erpnext/stock/serial_batch_bundle.py:1566 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 "" @@ -50207,7 +50249,7 @@ msgstr "" msgid "The Campaign '{0}' already exists for the {1} '{2}'" msgstr "" -#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:74 +#: erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py:71 msgid "The Company {0} of Sales Forecast {1} does not match with the Company {2} of Master Production Schedule {3}." msgstr "" @@ -50215,15 +50257,15 @@ msgstr "" msgid "The Document Type {0} must have a Status field to configure Service Level Agreement" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:332 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:335 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:177 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:450 msgid "The GL Entries will be cancelled in the background, it can take a few minutes." msgstr "" @@ -50231,7 +50273,7 @@ msgstr "" msgid "The Loyalty Program isn't valid for the selected company" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:975 +#: erpnext/accounts/doctype/payment_request/payment_request.py:978 msgid "The Payment Request {0} is already paid, cannot process payment twice" msgstr "" @@ -50243,7 +50285,7 @@ msgstr "" 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:2513 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:2545 msgid "The Process Loss Qty has reset as per job cards Process Loss Qty" msgstr "" @@ -50255,11 +50297,11 @@ msgstr "" msgid "The Serial No at Row #{0}: {1} is not available in warehouse {2}." msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2314 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2395 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:1666 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1679 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 "" @@ -50267,29 +50309,25 @@ msgstr "" 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 "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:2166 -msgid "The Work Order is mandatory for Disassembly Order" -msgstr "" - #. Description of the 'Closing Account Head' (Link) field in DocType 'Period #. Closing Voucher' #: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.json msgid "The account head under Liability or Equity, in which Profit/Loss will be booked" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:870 +#: erpnext/accounts/doctype/payment_request/payment_request.py:873 msgid "The allocated amount is greater than the outstanding amount of Payment Request {0}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:172 +#: erpnext/accounts/doctype/payment_request/payment_request.py:175 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 "" -#: erpnext/controllers/stock_controller.py:1258 +#: erpnext/controllers/stock_controller.py:1268 msgid "The batch {0} is already reserved in {1} {2}. So, cannot proceed with the {3} {4}, which is created against the {5} {6}." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1199 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1218 msgid "The completed quantity {0} of an operation {1} cannot be greater than the completed quantity {2} of a previous operation {3}." msgstr "" @@ -50305,7 +50343,7 @@ msgstr "" msgid "The default BOM for that item will be fetched by the system. You can also change the BOM." msgstr "" -#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:69 +#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:67 msgid "The difference between from time and To Time must be a multiple of Appointment" msgstr "" @@ -50354,15 +50392,15 @@ msgstr "" msgid "The following batches are expired, please restock them:
    {0}" msgstr "" -#: erpnext/controllers/accounts_controller.py:426 +#: erpnext/controllers/accounts_controller.py:424 msgid "The following cancelled repost entries exist for {0}:

    {1}

    Kindly delete these entries before continuing." msgstr "" -#: erpnext/stock/doctype/item/item.py:842 +#: erpnext/stock/doctype/item/item.py:861 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 "" -#: erpnext/setup/doctype/employee/employee.py:176 +#: erpnext/setup/doctype/employee/employee.py:175 msgid "The following employees are currently still reporting to {0}:" msgstr "" @@ -50387,15 +50425,15 @@ msgstr "" msgid "The holiday on {0} is not between From Date and To Date" msgstr "" -#: erpnext/controllers/buying_controller.py:1236 +#: erpnext/controllers/buying_controller.py:1229 msgid "The item {item} is not marked as {type_of} item. You can enable it as {type_of} item from its Item master." msgstr "" -#: erpnext/stock/doctype/item/item.py:619 +#: erpnext/stock/doctype/item/item.py:638 msgid "The items {0} and {1} are present in the following {2} :" msgstr "" -#: erpnext/controllers/buying_controller.py:1229 +#: erpnext/controllers/buying_controller.py:1222 msgid "The items {items} are not marked as {type_of} item. You can enable them as {type_of} item from their Item masters." msgstr "" @@ -50445,7 +50483,7 @@ msgstr "" msgid "The parent account {0} does not exists in the uploaded template" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:161 +#: erpnext/accounts/doctype/payment_request/payment_request.py:164 msgid "The payment gateway account in plan {0} is different from the payment gateway account in this payment request" msgstr "" @@ -50473,7 +50511,7 @@ msgstr "" msgid "The percentage you are allowed to transfer more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed transfer 110 units." msgstr "" -#: erpnext/public/js/utils.js:863 +#: erpnext/public/js/utils.js:871 msgid "The reserved stock will be released when you update items. Are you certain you wish to proceed?" msgstr "" @@ -50485,7 +50523,7 @@ msgstr "" msgid "The root account {0} must be a group" msgstr "" -#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:84 +#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:87 msgid "The selected BOMs are not for the same item" msgstr "" @@ -50497,16 +50535,20 @@ msgstr "" msgid "The selected item cannot have Batch" msgstr "" +#: erpnext/assets/doctype/asset/asset.js:617 +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 "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:146 -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:158 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:174 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:186 msgid "The serial and batch bundle {0} not linked to {1} {2}" msgstr "" -#: erpnext/stock/doctype/batch/batch.py:436 +#: erpnext/stock/doctype/batch/batch.py:432 msgid "The serial no {0} does not belong to item {1}" msgstr "" @@ -50522,11 +50564,11 @@ msgstr "" msgid "The shares don't exist with the {0}" msgstr "" -#: erpnext/stock/stock_ledger.py:810 +#: erpnext/stock/stock_ledger.py:801 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:713 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:712 msgid "The stock has been reserved for the following Items and Warehouses, un-reserve the same to {0} the Stock Reconciliation:

    {1}" msgstr "" @@ -50540,16 +50582,11 @@ 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/accounts/doctype/journal_entry/journal_entry.py:179 -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:186 -msgid "The task has been enqueued as a background job." -msgstr "" - -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1008 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1007 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:1019 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1018 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 "" @@ -50561,7 +50598,7 @@ msgstr "" msgid "The total Issue / Transfer quantity {0} in Material Request {1} cannot be greater than requested quantity {2} for Item {3}" msgstr "" -#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:154 +#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py:153 msgid "The uploaded file does not appear to be in valid MT940 format." msgstr "" @@ -50605,15 +50642,15 @@ msgstr "" 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 "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:772 +#: erpnext/manufacturing/doctype/job_card/job_card.py:791 msgid "The {0} ({1}) must be equal to {2} ({3})" msgstr "" -#: erpnext/public/js/controllers/transaction.js:3279 +#: erpnext/public/js/controllers/transaction.js:3296 msgid "The {0} contains Unit Price Items." msgstr "" -#: erpnext/stock/doctype/item/item.py:423 +#: erpnext/stock/doctype/item/item.py:442 msgid "The {0} prefix '{1}' already exists. Please change the Serial No Series, otherwise you will get a Duplicate Entry error." msgstr "" @@ -50625,7 +50662,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:875 +#: erpnext/manufacturing/doctype/job_card/job_card.py:894 msgid "The {0} {1} is used to calculate the valuation cost for the finished good {2}." msgstr "" @@ -50633,7 +50670,7 @@ msgstr "" msgid "Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:707 +#: erpnext/assets/doctype/asset/asset.py:721 msgid "There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset." msgstr "" @@ -50657,8 +50694,8 @@ msgstr "" msgid "There are no slots available on this date" msgstr "" -#: erpnext/stock/doctype/item/item.js:1065 -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." +#: erpnext/stock/doctype/item/item.js:1072 +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 "" #: erpnext/stock/report/item_variant_details/item_variant_details.py:25 @@ -50669,7 +50706,7 @@ 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:588 +#: erpnext/accounts/party.py:585 msgid "There can only be 1 Account per Company in {0} {1}" msgstr "" @@ -50685,11 +50722,11 @@ msgstr "" msgid "There is already an active Subcontracting BOM {0} for the Finished Good {1}." msgstr "" -#: erpnext/stock/doctype/batch/batch.py:444 +#: erpnext/stock/doctype/batch/batch.py:440 msgid "There is no batch found against the {0}: {1}" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:1603 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:1616 msgid "There must be atleast 1 Finished Good in this Stock Entry" msgstr "" @@ -50710,7 +50747,7 @@ msgstr "" msgid "There was an issue connecting to Plaid's authentication server. Check browser console for more information" msgstr "" -#: erpnext/accounts/utils.py:1099 +#: erpnext/accounts/utils.py:1124 msgid "There were issues unlinking payment entry {0}." msgstr "" @@ -50720,27 +50757,27 @@ msgstr "" msgid "This Account has '0' balance in either Base Currency or Account Currency" msgstr "" -#: erpnext/stock/doctype/item/item.js:131 -msgid "This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set" +#: erpnext/stock/doctype/item/item.js:136 +msgid "This Item is a Template and cannot be used in transactions.
    All fields present in the 'Copy Fields to Variant' table in Item Variant Settings will be copied to its variant items." msgstr "" -#: erpnext/stock/doctype/item/item.js:190 +#: erpnext/stock/doctype/item/item.js:195 msgid "This Item is a Variant of {0} (Template)." msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:187 +#: erpnext/setup/doctype/email_digest/email_digest.py:185 msgid "This Month's Summary" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:977 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:924 msgid "This Purchase Order has been fully subcontracted." msgstr "" -#: erpnext/selling/doctype/sales_order/sales_order.py:2006 +#: erpnext/selling/doctype/sales_order/sales_order.py:2034 msgid "This Sales Order has been fully subcontracted." msgstr "" -#: erpnext/setup/doctype/email_digest/email_digest.py:184 +#: erpnext/setup/doctype/email_digest/email_digest.py:182 msgid "This Week's Summary" msgstr "" @@ -50752,7 +50789,7 @@ msgstr "" msgid "This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:426 +#: erpnext/assets/doctype/asset/asset.py:425 msgid "This asset category is marked as non-depreciable. Please disable depreciation calculation or choose a different category." msgstr "" @@ -50760,7 +50797,7 @@ msgstr "" msgid "This covers all scorecards tied to this Setup" msgstr "" -#: erpnext/controllers/status_updater.py:456 +#: erpnext/controllers/status_updater.py:459 msgid "This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?" msgstr "" @@ -50778,7 +50815,7 @@ msgstr "" msgid "This invoice has already been paid." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:241 +#: erpnext/manufacturing/doctype/bom/bom.js:269 msgid "This is a Template BOM and will be used to make the work order for {0} of the item {1}" msgstr "" @@ -50803,7 +50840,7 @@ msgstr "" msgid "This is a location where scraped materials are stored." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:305 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:315 msgid "This is a preview of the email to be sent. A PDF of the document will automatically be attached with the email." msgstr "" @@ -50851,7 +50888,7 @@ msgstr "" msgid "This is considered dangerous from accounting point of view." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:538 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:540 msgid "This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice" msgstr "" @@ -50859,7 +50896,7 @@ msgstr "" 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:1053 +#: erpnext/stock/doctype/item/item.js:1060 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 "" @@ -50867,15 +50904,25 @@ msgstr "" msgid "This item filter has already been applied for the {0}" msgstr "" +#. Header text in the CRM Workspace +#: erpnext/crm/workspace/crm/crm.json +msgid "This module is scheduled for deprecation and will be completely removed in version 17, please use Frappe CRM instead." +msgstr "" + +#. Header text in the Support Workspace +#: erpnext/support/workspace/support/support.json +msgid "This module is scheduled for deprecation and will be completely removed in version 17, please use Frappe Helpdesk instead." +msgstr "" + #: erpnext/stock/doctype/delivery_note/delivery_note.js:500 msgid "This option can be checked to edit the 'Posting Date' and 'Posting Time' fields." msgstr "" -#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:201 +#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:212 msgid "This schedule was created when Asset {0} was adjusted through Asset Value Adjustment {1}." msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:494 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:493 msgid "This schedule was created when Asset {0} was consumed through Asset Capitalization {1}." msgstr "" @@ -50883,11 +50930,11 @@ msgstr "" msgid "This schedule was created when Asset {0} was repaired through Asset Repair {1}." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1425 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1501 msgid "This schedule was created when Asset {0} was restored due to Sales Invoice {1} cancellation." msgstr "" -#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:598 +#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:597 msgid "This schedule was created when Asset {0} was restored on Asset Capitalization {1}'s cancellation." msgstr "" @@ -50895,7 +50942,7 @@ msgstr "" msgid "This schedule was created when Asset {0} was restored." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1421 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1497 msgid "This schedule was created when Asset {0} was returned through Sales Invoice {1}." msgstr "" @@ -50903,19 +50950,19 @@ msgstr "" msgid "This schedule was created when Asset {0} was scrapped." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1484 +#: erpnext/assets/doctype/asset/asset.py:1499 msgid "This schedule was created when Asset {0} was {1} into new Asset {2}." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1397 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1473 msgid "This schedule was created when Asset {0} was {1} through Sales Invoice {2}." msgstr "" -#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:208 +#: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:219 msgid "This schedule was created when Asset {0}'s Asset Value Adjustment {1} was cancelled." msgstr "" -#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:207 +#: erpnext/assets/doctype/asset_shift_allocation/asset_shift_allocation.py:206 msgid "This schedule was created when Asset {0}'s shifts were adjusted through Asset Shift Allocation {1}." msgstr "" @@ -50955,6 +51002,12 @@ msgstr "" msgid "This {} will be treated as material transfer." msgstr "" +#. Option for the 'Under Withheld Reason' (Select) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Threshold Exemption" +msgstr "" + #. Label of the threshold_percentage (Percent) field in DocType 'Promotional #. Scheme Price Discount' #. Label of the threshold_percentage (Percent) field in DocType 'Promotional @@ -51056,7 +51109,7 @@ msgstr "" msgid "Time in mins." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:751 +#: erpnext/manufacturing/doctype/job_card/job_card.py:770 msgid "Time logs are required for {0} {1}" msgstr "" @@ -51079,8 +51132,7 @@ msgstr "" #. Name of a DocType #. Label of a Link in the Projects Workspace -#. Label of a shortcut in the Projects Workspace -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1044 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1062 #: erpnext/projects/doctype/timesheet/timesheet.json #: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py:26 #: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py:59 @@ -51108,14 +51160,14 @@ msgstr "" msgid "Timesheet for tasks." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:868 -msgid "Timesheet {0} is already completed or cancelled" +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:893 +msgid "Timesheet {0} cannot be invoiced in its current state" msgstr "" #. Label of the timesheet_sb (Section Break) field in DocType 'Projects #. Settings' #: erpnext/projects/doctype/projects_settings/projects_settings.json -#: erpnext/projects/doctype/timesheet/timesheet.py:559 +#: erpnext/projects/doctype/timesheet/timesheet.py:572 #: erpnext/templates/pages/projects.html:60 msgid "Timesheets" msgstr "" @@ -51155,7 +51207,7 @@ msgstr "" msgid "To Currency" msgstr "" -#: erpnext/controllers/accounts_controller.py:625 +#: erpnext/controllers/accounts_controller.py:623 #: erpnext/setup/doctype/holiday_list/holiday_list.py:121 msgid "To Date cannot be before From Date" msgstr "" @@ -51170,7 +51222,7 @@ msgstr "" msgid "To Date cannot be less than From Date" msgstr "" -#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:30 +#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:29 msgid "To Date is mandatory" msgstr "" @@ -51370,7 +51422,7 @@ msgstr "" msgid "To Warehouse (Optional)" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:942 +#: erpnext/manufacturing/doctype/bom/bom.js:971 msgid "To add Operations tick the 'With Operations' checkbox." msgstr "" @@ -51378,11 +51430,11 @@ msgstr "" msgid "To add subcontracted Item's raw materials if include exploded items is disabled." msgstr "" -#: erpnext/controllers/status_updater.py:449 +#: erpnext/controllers/status_updater.py:452 msgid "To allow over billing, update \"Over Billing Allowance\" in Accounts Settings or the Item." msgstr "" -#: erpnext/controllers/status_updater.py:445 +#: erpnext/controllers/status_updater.py:448 msgid "To allow over receipt / delivery, update \"Over Receipt/Delivery Allowance\" in Stock Settings or the Item." msgstr "" @@ -51398,15 +51450,15 @@ msgstr "" msgid "To be Delivered to Customer" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:560 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:557 msgid "To cancel a {} you need to cancel the POS Closing Entry {}." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:573 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:570 msgid "To cancel this Sales Invoice you need to cancel the POS Closing Entry {}." msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:115 +#: erpnext/accounts/doctype/payment_request/payment_request.py:118 msgid "To create a Payment Request reference document is required" msgstr "" @@ -51424,12 +51476,12 @@ msgstr "" msgid "To include sub-assembly costs and scrap items in Finished Goods on a work order without using a job card, when the 'Use Multi-Level BOM' option is enabled." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2309 -#: erpnext/controllers/accounts_controller.py:3231 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2230 +#: erpnext/controllers/accounts_controller.py:3235 msgid "To include tax in row {0} in Item rate, taxes in rows {1} must also be included" msgstr "" -#: erpnext/stock/doctype/item/item.py:641 +#: erpnext/stock/doctype/item/item.py:660 msgid "To merge, following properties must be same for both items" msgstr "" @@ -51445,20 +51497,20 @@ msgstr "" msgid "To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings." msgstr "" -#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:628 +#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:630 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:651 msgid "To submit the invoice without purchase receipt please set {0} as {1} in {2}" msgstr "" #: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:48 -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:234 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:233 msgid "To use a different finance book, please uncheck 'Include Default FB Assets'" msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:683 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:709 #: erpnext/accounts/report/financial_statements.py:624 #: erpnext/accounts/report/general_ledger/general_ledger.py:310 #: erpnext/accounts/report/trial_balance/trial_balance.py:310 @@ -51502,13 +51554,13 @@ 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 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:641 -#: erpnext/buying/doctype/purchase_order/purchase_order.js:717 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:70 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:157 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:442 -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:451 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:76 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:599 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:675 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:61 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:148 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:452 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:461 +#: 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 @@ -51571,7 +51623,7 @@ msgstr "" msgid "Total Active Items" msgstr "" -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:127 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:350 msgid "Total Actual" msgstr "" @@ -51620,8 +51672,8 @@ msgstr "" #. Label of the total_amount (Currency) field in DocType 'Stock Entry' #: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json #: erpnext/accounts/doctype/journal_entry/journal_entry.json -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:255 -#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:131 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:157 +#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:109 #: erpnext/selling/page/sales_funnel/sales_funnel.py:167 #: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json #: erpnext/stock/doctype/stock_entry/stock_entry.json @@ -51706,7 +51758,7 @@ msgstr "" msgid "Total Billing Hours" msgstr "" -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:127 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:350 msgid "Total Budget" msgstr "" @@ -51729,7 +51781,7 @@ msgstr "" #. Label of the total_completed_qty (Float) field in DocType 'Job Card' #: erpnext/manufacturing/doctype/job_card/job_card.json -#: erpnext/manufacturing/doctype/job_card/job_card.py:768 +#: erpnext/manufacturing/doctype/job_card/job_card.py:787 #: erpnext/manufacturing/report/job_card_summary/job_card_summary.py:174 msgid "Total Completed Qty" msgstr "" @@ -51777,7 +51829,7 @@ msgstr "" msgid "Total Credit" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:326 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:336 msgid "Total Credit/ Debit Amount should be same as linked Journal Entry" msgstr "" @@ -51786,7 +51838,7 @@ msgstr "" msgid "Total Debit" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:905 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:927 msgid "Total Debit must be equal to Total Credit. The difference is {0}" msgstr "" @@ -51815,7 +51867,7 @@ msgstr "" msgid "Total Expense This Year" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:576 +#: erpnext/accounts/doctype/budget/budget.py:574 msgid "Total Expenses booked through" msgstr "" @@ -51857,16 +51909,6 @@ msgstr "" msgid "Total Income This Year" msgstr "" -#. Label of a number card in the Accounting Workspace -#: erpnext/accounts/workspace/accounting/accounting.json -msgid "Total Incoming Bills" -msgstr "" - -#. Label of a number card in the Accounting Workspace -#: erpnext/accounts/workspace/accounting/accounting.json -msgid "Total Incoming Payment" -msgstr "" - #. Label of the total_incoming_value (Currency) field in DocType 'Stock Entry' #: erpnext/stock/doctype/stock_entry/stock_entry.json msgid "Total Incoming Value (Receipt)" @@ -51982,16 +52024,6 @@ msgstr "" msgid "Total Outgoing" msgstr "" -#. Label of a number card in the Accounting Workspace -#: erpnext/accounts/workspace/accounting/accounting.json -msgid "Total Outgoing Bills" -msgstr "" - -#. Label of a number card in the Accounting Workspace -#: erpnext/accounts/workspace/accounting/accounting.json -msgid "Total Outgoing Payment" -msgstr "" - #. Label of the total_outgoing_value (Currency) field in DocType 'Stock Entry' #: erpnext/stock/doctype/stock_entry/stock_entry.json msgid "Total Outgoing Value (Consumption)" @@ -52015,11 +52047,11 @@ msgstr "" msgid "Total Paid Amount" msgstr "" -#: erpnext/controllers/accounts_controller.py:2779 +#: erpnext/controllers/accounts_controller.py:2783 msgid "Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:140 +#: erpnext/accounts/doctype/payment_request/payment_request.py:143 msgid "Total Payment Request amount cannot be greater than {0} amount" msgstr "" @@ -52095,7 +52127,7 @@ msgstr "" msgid "Total Quantity" msgstr "" -#: erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py:45 +#: erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py:51 msgid "Total Received Amount" msgstr "" @@ -52114,7 +52146,9 @@ msgstr "" msgid "Total Revenue" msgstr "" +#. Label of a number card in the Selling Workspace #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:256 +#: erpnext/selling/workspace/selling/selling.json msgid "Total Sales Amount" msgstr "" @@ -52153,7 +52187,7 @@ msgid "Total Tasks" msgstr "" #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:615 -#: erpnext/accounts/report/purchase_register/purchase_register.py:263 +#: erpnext/accounts/report/purchase_register/purchase_register.py:262 msgid "Total Tax" msgstr "" @@ -52251,7 +52285,7 @@ msgstr "" msgid "Total Value Difference (Incoming - Outgoing)" msgstr "" -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:127 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:350 #: erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py:144 msgid "Total Variance" msgstr "" @@ -52313,15 +52347,15 @@ msgstr "" msgid "Total allocated percentage for sales team should be 100" msgstr "" -#: erpnext/selling/doctype/customer/customer.py:162 +#: erpnext/selling/doctype/customer/customer.py:167 msgid "Total contribution percentage should be equal to 100" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:363 +#: erpnext/accounts/doctype/budget/budget.py:361 msgid "Total distributed amount {0} must be equal to Budget Amount {1}" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:370 +#: erpnext/accounts/doctype/budget/budget.py:368 msgid "Total distribution percent must equal 100 (currently {0})" msgstr "" @@ -52330,7 +52364,7 @@ msgid "Total hours: {0}" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:569 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:544 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:541 msgid "Total payments amount can't be greater than {}" msgstr "" @@ -52410,7 +52444,7 @@ msgstr "" #. Label of the transaction_tab (Tab Break) field in DocType 'Selling Settings' #. Label of the transaction (Select) field in DocType 'Authorization Rule' #. Option for the 'Based On' (Select) field in DocType 'Repost Item Valuation' -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:463 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:467 #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json #: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.json #: erpnext/manufacturing/doctype/workstation/workstation_dashboard.py:10 @@ -52446,7 +52480,7 @@ msgstr "" msgid "Transaction Date" msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:504 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:507 msgid "Transaction Deletion Document: {0} is running for this Company. {1}" msgstr "" @@ -52506,32 +52540,50 @@ msgstr "" msgid "Transaction Settings" msgstr "" +#. Label of the single_threshold (Float) field in DocType 'Tax Withholding +#. Rate' +#: erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.json +msgid "Transaction Threshold" +msgstr "" + #. Label of the transaction_type (Data) field in DocType 'Bank Transaction' #: erpnext/accounts/doctype/bank_transaction/bank_transaction.json #: erpnext/accounts/report/calculated_discount_mismatch/calculated_discount_mismatch.py:38 -#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:278 +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:187 msgid "Transaction Type" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:150 +#: erpnext/accounts/doctype/payment_request/payment_request.py:153 msgid "Transaction currency must be same as Payment Gateway currency" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:68 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:71 msgid "Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:744 +#. Description of the 'Applicable For' (Section Break) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Transaction for which tax is withheld" +msgstr "" + +#. Description of the 'Deducted From' (Section Break) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Transaction from which tax is withheld" +msgstr "" + +#: erpnext/manufacturing/doctype/job_card/job_card.py:763 msgid "Transaction not allowed against stopped Work Order {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1317 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1235 msgid "Transaction reference no {0} dated {1}" msgstr "" #. Group in Bank Account's connections #: erpnext/accounts/doctype/bank_account/bank_account.json -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:463 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:467 #: erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template_dashboard.py:12 #: erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template_dashboard.py:13 #: erpnext/manufacturing/doctype/job_card/job_card_dashboard.py:9 @@ -52550,7 +52602,7 @@ msgstr "" msgid "Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1135 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1161 msgid "Transactions using Sales Invoice in POS are disabled." msgstr "" @@ -52561,11 +52613,11 @@ msgstr "" #. Option for the 'Asset Status' (Select) field in DocType 'Serial No' #: erpnext/accounts/doctype/share_transfer/share_transfer.json #: erpnext/assets/doctype/asset_movement/asset_movement.json -#: erpnext/buying/doctype/purchase_order/purchase_order.js:435 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:393 #: erpnext/stock/doctype/item_reorder/item_reorder.json #: erpnext/stock/doctype/serial_no/serial_no.json -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:538 -#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:543 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:651 +#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:656 msgid "Transfer" msgstr "" @@ -52649,7 +52701,7 @@ msgstr "" msgid "Transit" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.js:479 +#: erpnext/stock/doctype/stock_entry/stock_entry.js:501 msgid "Transit Entry" msgstr "" @@ -52745,7 +52797,7 @@ msgstr "" msgid "Trial Period End Date" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:336 +#: erpnext/accounts/doctype/subscription/subscription.py:339 msgid "Trial Period End Date Cannot be before Trial Period Start Date" msgstr "" @@ -52754,7 +52806,7 @@ msgstr "" msgid "Trial Period Start Date" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:342 +#: erpnext/accounts/doctype/subscription/subscription.py:345 msgid "Trial Period Start date cannot be after Subscription Start Date" msgstr "" @@ -52912,7 +52964,7 @@ msgstr "" #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:58 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:207 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:212 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:210 #: 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 @@ -52926,7 +52978,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:742 +#: erpnext/public/js/stock_analytics.js:94 erpnext/public/js/utils.js:744 #: 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 @@ -52952,9 +53004,9 @@ msgstr "" #: erpnext/stock/report/available_serial_no/available_serial_no.py:101 #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:87 #: erpnext/stock/report/item_prices/item_prices.py:55 -#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:94 +#: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:93 #: erpnext/stock/report/stock_ageing/stock_ageing.py:178 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:45 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:44 #: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:134 #: erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.py:60 #: erpnext/subcontracting/doctype/subcontracting_inward_order_service_item/subcontracting_inward_order_service_item.json @@ -53007,7 +53059,7 @@ msgstr "" msgid "UOM Conversion Factor" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1438 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1458 msgid "UOM Conversion factor ({0} -> {1}) not found for item: {2}" msgstr "" @@ -53020,7 +53072,7 @@ msgstr "" msgid "UOM Name" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:3628 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:3710 msgid "UOM conversion factor required for UOM: {0} in Item: {1}" msgstr "" @@ -53067,7 +53119,7 @@ msgid "Unable to find exchange rate for {0} to {1} for key date {2}. Please crea msgstr "" #: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.py:165 -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:314 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:312 msgid "Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually." msgstr "" @@ -53075,7 +53127,7 @@ msgstr "" msgid "Unable to find score starting at {0}. You need to have standing scores covering 0 to 100" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1013 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1017 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 "" @@ -53096,7 +53148,7 @@ msgstr "" msgid "Unassigned Qty" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:649 +#: erpnext/accounts/doctype/budget/budget.py:647 msgid "Unbilled Orders" msgstr "" @@ -53132,6 +53184,17 @@ msgstr "" msgid "Under Warranty" msgstr "" +#. Option for the 'Status' (Select) field in DocType 'Tax Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Under Withheld" +msgstr "" + +#. Label of the under_withheld_reason (Select) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Under Withheld Reason" +msgstr "" + #: erpnext/manufacturing/doctype/workstation/workstation.js:78 msgid "Under Working Hours table, you can add start and end times for a Workstation. For example, a Workstation may be active from 9 am to 1 pm, then 2 pm to 5 pm. You can also specify the working hours based on shifts. While scheduling a Work Order, the system will check for the availability of the Workstation based on the working hours specified." msgstr "" @@ -53146,7 +53209,7 @@ msgstr "" msgid "Unit" msgstr "" -#: erpnext/controllers/accounts_controller.py:4041 +#: erpnext/controllers/accounts_controller.py:4049 msgid "Unit Price" msgstr "" @@ -53161,7 +53224,7 @@ msgstr "" msgid "Unit of Measure (UOM)" msgstr "" -#: erpnext/stock/doctype/item/item.py:384 +#: erpnext/stock/doctype/item/item.py:403 msgid "Unit of Measure {0} has been entered more than once in Conversion Factor Table" msgstr "" @@ -53203,7 +53266,7 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:274 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:279 #: erpnext/accounts/doctype/subscription/subscription.json #: erpnext/accounts/doctype/subscription/subscription_list.js:12 msgid "Unpaid" @@ -53336,7 +53399,7 @@ msgstr "" msgid "Unsecured Loans" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1706 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1717 msgid "Unset Matched Payment Request" msgstr "" @@ -53472,7 +53535,7 @@ msgstr "" #. Option for the 'Update Type' (Select) field in DocType 'BOM Update Log' #. Label of the update_cost_section (Section Break) field in DocType 'BOM #. Update Tool' -#: erpnext/manufacturing/doctype/bom/bom.js:157 +#: erpnext/manufacturing/doctype/bom/bom.js:185 #: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.json #: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.json msgid "Update Cost" @@ -53497,10 +53560,10 @@ msgstr "" msgid "Update Existing Price List Rate" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:366 -#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:35 -#: erpnext/public/js/utils.js:842 -#: erpnext/selling/doctype/quotation/quotation.js:126 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:324 +#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:43 +#: erpnext/public/js/utils.js:850 +#: erpnext/selling/doctype/quotation/quotation.js:135 #: erpnext/selling/doctype/sales_order/sales_order.js:75 #: erpnext/selling/doctype/sales_order/sales_order.js:940 msgid "Update Items" @@ -53531,7 +53594,7 @@ msgstr "" msgid "Update Rate and Availability" msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.js:630 +#: erpnext/buying/doctype/purchase_order/purchase_order.js:588 msgid "Update Rate as per Last Purchase" msgstr "" @@ -53563,7 +53626,7 @@ msgstr "" msgid "Update latest price in all BOMs" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:466 +#: erpnext/assets/doctype/asset/asset.py:465 msgid "Update stock must be enabled for the purchase invoice {0}" msgstr "" @@ -53597,7 +53660,7 @@ msgstr "" msgid "Updating Costing and Billing fields against this Project..." msgstr "" -#: erpnext/stock/doctype/item/item.py:1385 +#: erpnext/stock/doctype/item/item.py:1404 msgid "Updating Variants..." msgstr "" @@ -53722,7 +53785,7 @@ msgstr "" #. Label of the use_multi_level_bom (Check) field in DocType 'Work Order' #. Label of the use_multi_level_bom (Check) field in DocType 'Stock Entry' -#: erpnext/manufacturing/doctype/bom/bom.js:365 +#: erpnext/manufacturing/doctype/bom/bom.js:394 #: erpnext/manufacturing/doctype/work_order/work_order.json #: erpnext/stock/doctype/stock_entry/stock_entry.json msgid "Use Multi-Level BOM" @@ -53787,7 +53850,7 @@ msgstr "" msgid "Use Transaction Date Exchange Rate" msgstr "" -#: erpnext/projects/doctype/project/project.py:563 +#: erpnext/projects/doctype/project/project.py:561 msgid "Use a name that is different from previous project name" msgstr "" @@ -53823,7 +53886,7 @@ msgstr "" #. Label of the user_remark (Small Text) field in DocType 'Journal Entry' #. Label of the user_remark (Small Text) field in DocType 'Journal Entry #. Account' -#: erpnext/accounts/doctype/journal_entry/journal_entry.js:620 +#: erpnext/accounts/doctype/journal_entry/journal_entry.js:641 #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json msgid "User Remark" @@ -53834,11 +53897,11 @@ msgstr "" msgid "User Resolution Time" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:594 +#: erpnext/accounts/doctype/pricing_rule/utils.py:593 msgid "User has not applied rule on the invoice {0}" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:191 +#: erpnext/setup/doctype/employee/employee.py:190 msgid "User {0} does not exist" msgstr "" @@ -53846,15 +53909,15 @@ msgstr "" msgid "User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User." msgstr "" -#: erpnext/setup/doctype/employee/employee.py:208 +#: erpnext/setup/doctype/employee/employee.py:207 msgid "User {0} is already assigned to Employee {1}" msgstr "" -#: erpnext/setup/doctype/employee/employee.py:246 +#: erpnext/setup/doctype/employee/employee.py:245 msgid "User {0}: Removed Employee Self Service role as there is no mapped employee." msgstr "" -#: erpnext/setup/doctype/employee/employee.py:241 +#: erpnext/setup/doctype/employee/employee.py:240 msgid "User {0}: Removed Employee role as there is no mapped employee." msgstr "" @@ -53958,8 +54021,8 @@ msgstr "" #. Label of the valid_till (Date) field in DocType 'Supplier Quotation' #. Label of the valid_till (Date) field in DocType 'Quotation' #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:263 -#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:288 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:261 +#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:286 #: erpnext/selling/doctype/quotation/quotation.json #: erpnext/templates/pages/order.html:59 msgid "Valid Till" @@ -54139,7 +54202,7 @@ msgstr "" #: erpnext/stock/report/item_prices/item_prices.py:57 #: erpnext/stock/report/serial_no_ledger/serial_no_ledger.py:67 #: erpnext/stock/report/stock_balance/stock_balance.py:487 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:298 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:297 msgid "Valuation Rate" msgstr "" @@ -54147,19 +54210,19 @@ msgstr "" msgid "Valuation Rate (In / Out)" msgstr "" -#: erpnext/stock/stock_ledger.py:2049 +#: erpnext/stock/stock_ledger.py:2016 msgid "Valuation Rate Missing" msgstr "" -#: erpnext/stock/stock_ledger.py:2027 +#: erpnext/stock/stock_ledger.py:1994 msgid "Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}." msgstr "" -#: erpnext/stock/doctype/item/item.py:269 +#: erpnext/stock/doctype/item/item.py:288 msgid "Valuation Rate is mandatory if Opening Stock entered" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:765 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:764 msgid "Valuation Rate required for Item {0} at row {1}" msgstr "" @@ -54169,7 +54232,7 @@ msgstr "" msgid "Valuation and Total" msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:985 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:984 msgid "Valuation rate for customer provided items has been set to zero." msgstr "" @@ -54182,8 +54245,8 @@ msgstr "" msgid "Valuation rate for the item as per Sales Invoice (Only for Internal Transfers)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2333 -#: erpnext/controllers/accounts_controller.py:3255 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2254 +#: erpnext/controllers/accounts_controller.py:3259 msgid "Valuation type charges can not be marked as Inclusive" msgstr "" @@ -54269,7 +54332,7 @@ msgstr "" msgid "Value of Sold Asset" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:87 +#: erpnext/stock/doctype/shipment/shipment.py:88 msgid "Value of goods cannot be 0" msgstr "" @@ -54296,8 +54359,10 @@ msgstr "" msgid "Variables" msgstr "" -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:101 -#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:111 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:238 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:242 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:324 +#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:334 msgid "Variance" msgstr "" @@ -54305,13 +54370,13 @@ msgstr "" msgid "Variance ({})" msgstr "" -#: erpnext/stock/doctype/item/item.js:178 +#: erpnext/stock/doctype/item/item.js:183 #: erpnext/stock/doctype/item/item_list.js:22 #: erpnext/stock/report/item_variant_details/item_variant_details.py:74 msgid "Variant" msgstr "" -#: erpnext/stock/doctype/item/item.py:857 +#: erpnext/stock/doctype/item/item.py:876 msgid "Variant Attribute Error" msgstr "" @@ -54321,7 +54386,7 @@ msgstr "" msgid "Variant Attributes" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:198 +#: erpnext/manufacturing/doctype/bom/bom.js:226 msgid "Variant BOM" msgstr "" @@ -54330,11 +54395,11 @@ msgstr "" msgid "Variant Based On" msgstr "" -#: erpnext/stock/doctype/item/item.py:885 +#: erpnext/stock/doctype/item/item.py:904 msgid "Variant Based On cannot be changed" msgstr "" -#: erpnext/stock/doctype/item/item.js:154 +#: erpnext/stock/doctype/item/item.js:159 msgid "Variant Details Report" msgstr "" @@ -54343,12 +54408,12 @@ msgstr "" msgid "Variant Field" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:319 -#: erpnext/manufacturing/doctype/bom/bom.js:398 +#: erpnext/manufacturing/doctype/bom/bom.js:348 +#: erpnext/manufacturing/doctype/bom/bom.js:427 msgid "Variant Item" msgstr "" -#: erpnext/stock/doctype/item/item.py:855 +#: erpnext/stock/doctype/item/item.py:874 msgid "Variant Items" msgstr "" @@ -54359,7 +54424,7 @@ msgstr "" msgid "Variant Of" msgstr "" -#: erpnext/stock/doctype/item/item.js:745 +#: erpnext/stock/doctype/item/item.js:752 msgid "Variant creation has been queued." msgstr "" @@ -54411,7 +54476,7 @@ msgstr "" msgid "Vendor Invoices" msgstr "" -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:541 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:540 msgid "Vendor Name" msgstr "" @@ -54482,7 +54547,7 @@ msgstr "" msgid "View Data Based on" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:247 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:248 msgid "View Exchange Gain/Loss Journals" msgstr "" @@ -54494,7 +54559,7 @@ msgstr "" msgid "View Leads" msgstr "" -#: erpnext/accounts/doctype/account/account_tree.js:278 +#: erpnext/accounts/doctype/account/account_tree.js:279 #: erpnext/stock/doctype/batch/batch.js:18 msgid "View Ledger" msgstr "" @@ -54511,6 +54576,14 @@ msgstr "" msgid "View Now" msgstr "" +#: erpnext/stock/report/stock_ledger/stock_ledger.js:139 +msgid "View Stock Balance" +msgstr "" + +#: erpnext/stock/report/stock_balance/stock_balance.js:156 +msgid "View Stock Ledger" +msgstr "" + #: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js:8 msgid "View Type" msgstr "" @@ -54559,15 +54632,15 @@ msgstr "" msgid "Volt-Ampere" msgstr "" -#: erpnext/accounts/report/purchase_register/purchase_register.py:163 -#: erpnext/accounts/report/sales_register/sales_register.py:179 +#: erpnext/accounts/report/purchase_register/purchase_register.py:162 +#: erpnext/accounts/report/sales_register/sales_register.py:178 msgid "Voucher" 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:323 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:322 msgid "Voucher #" msgstr "" @@ -54597,11 +54670,6 @@ msgstr "" msgid "Voucher Detail Reference" msgstr "" -#. Label of the voucher_name (Data) field in DocType 'Tax Withheld Vouchers' -#: erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json -msgid "Voucher Name" -msgstr "" - #. Label of the voucher_no (Dynamic Link) field in DocType 'Advance Payment #. Ledger Entry' #. Label of the voucher_no (Dynamic Link) field in DocType 'GL Entry' @@ -54630,7 +54698,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:1200 #: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:42 #: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:209 #: erpnext/accounts/report/general_ledger/general_ledger.js:49 @@ -54656,13 +54724,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:33 -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:120 +#: 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:165 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:74 msgid "Voucher No" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1298 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1335 msgid "Voucher No is mandatory" msgstr "" @@ -54688,7 +54756,6 @@ msgstr "" #. 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 (Data) field in DocType 'Tax Withheld Vouchers' #. 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' @@ -54703,15 +54770,14 @@ msgstr "" #: erpnext/accounts/doctype/repost_accounting_ledger_items/repost_accounting_ledger_items.json #: 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/tax_withheld_vouchers/tax_withheld_vouchers.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:1198 #: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:200 #: erpnext/accounts/report/general_ledger/general_ledger.py:738 #: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:31 #: erpnext/accounts/report/payment_ledger/payment_ledger.py:165 -#: erpnext/accounts/report/purchase_register/purchase_register.py:158 -#: erpnext/accounts/report/sales_register/sales_register.py:174 +#: erpnext/accounts/report/purchase_register/purchase_register.py:157 +#: erpnext/accounts/report/sales_register/sales_register.py:173 #: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:17 #: erpnext/public/js/utils/unreconcile.js:71 #: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json @@ -54729,16 +54795,16 @@ msgstr "" #: erpnext/stock/report/reserved_stock/reserved_stock.py:145 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.js:40 #: 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:482 +#: 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:27 -#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:118 -#: erpnext/stock/report/stock_ledger/stock_ledger.py:321 +#: erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py:152 +#: erpnext/stock/report/stock_ledger/stock_ledger.py:320 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:159 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:68 msgid "Voucher Type" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:195 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:198 msgid "Voucher {0} is over-allocated by {1}" msgstr "" @@ -54906,7 +54972,7 @@ msgstr "" msgid "Warehouse not found against the account {0}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1192 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1218 #: erpnext/stock/doctype/delivery_note/delivery_note.py:432 msgid "Warehouse required for stock Item {0}" msgstr "" @@ -54924,7 +54990,7 @@ msgstr "" msgid "Warehouse {0} does not belong to Company {1}." msgstr "" -#: erpnext/stock/utils.py:437 +#: erpnext/stock/utils.py:409 msgid "Warehouse {0} does not belong to company {1}" msgstr "" @@ -54932,7 +54998,7 @@ msgstr "" msgid "Warehouse {0} does not exist" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:234 +#: erpnext/manufacturing/doctype/work_order/work_order.py:237 msgid "Warehouse {0} is not allowed for Sales Order {1}, it should be {2}" msgstr "" @@ -55041,7 +55107,7 @@ msgstr "" msgid "Warning - Row {0}: Billing Hours are more than Actual Hours" msgstr "" -#: erpnext/stock/stock_ledger.py:820 +#: erpnext/stock/stock_ledger.py:811 msgid "Warning on Negative Stock" msgstr "" @@ -55049,7 +55115,7 @@ msgstr "" msgid "Warning!" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1290 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1312 msgid "Warning: Another {0} # {1} exists against stock entry {2}" msgstr "" @@ -55057,7 +55123,7 @@ msgstr "" msgid "Warning: Material Requested Qty is less than Minimum Order Qty" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1430 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1434 msgid "Warning: Quantity exceeds maximum producible quantity based on quantity of raw materials received through the Subcontracting Inward Order {0}." msgstr "" @@ -55065,7 +55131,7 @@ msgstr "" msgid "Warning: Sales Order {0} already exists against Customer's Purchase Order {1}" msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_validation.py:77 +#: erpnext/accounts/doctype/financial_report_template/financial_report_validation.py:74 msgid "Warnings" msgstr "" @@ -55095,7 +55161,7 @@ msgstr "" msgid "Warranty Claim" msgstr "" -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:542 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:546 msgid "Warranty Expiry (Serial)" msgstr "" @@ -55181,7 +55247,7 @@ msgid "Website:" msgstr "" #: erpnext/selling/report/sales_analytics/sales_analytics.py:433 -#: erpnext/stock/report/stock_analytics/stock_analytics.py:112 +#: erpnext/stock/report/stock_analytics/stock_analytics.py:111 msgid "Week {0} {1}" msgstr "" @@ -55295,7 +55361,19 @@ msgstr "" msgid "When a parent warehouse is chosen, the system conducts Project Qty checks against the associated child warehouses" msgstr "" -#: erpnext/stock/doctype/item/item.js:1072 +#. Description of the 'Disable Transaction Threshold' (Check) field in DocType +#. 'Tax Withholding Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "When checked, only cumulative threshold will be applied" +msgstr "" + +#. Description of the 'Disable Cumulative Threshold' (Check) field in DocType +#. 'Tax Withholding Category' +#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json +msgid "When checked, only transaction threshold will be applied for transaction individually" +msgstr "" + +#: erpnext/stock/doctype/item/item.js:1079 msgid "When creating an Item, entering a value for this field will automatically create an Item Price at the backend." msgstr "" @@ -55367,6 +55445,38 @@ msgstr "" msgid "Withdrawal" msgstr "" +#. Label of the withholding_date (Date) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Withholding Date" +msgstr "" + +#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:206 +msgid "Withholding Document" +msgstr "" + +#. Label of the withholding_name (Dynamic Link) field in DocType 'Tax +#. Withholding Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Withholding Document Name" +msgstr "" + +#. Label of the withholding_doctype (Link) field in DocType 'Tax Withholding +#. Entry' +#: erpnext/accounts/doctype/tax_withholding_entry/tax_withholding_entry.json +msgid "Withholding Document Type" +msgstr "" + +#. Label of a chart in the CRM Workspace +#: erpnext/crm/workspace/crm/crm.json +msgid "Won Opportunities" +msgstr "" + +#. Label of a number card in the CRM Workspace +#: erpnext/crm/workspace/crm/crm.json +msgid "Won Opportunity (Last 1 Month)" +msgstr "" + #. Label of the work_done (Small Text) field in DocType 'Maintenance Visit #. Purpose' #: erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json @@ -55381,7 +55491,7 @@ 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:376 +#: erpnext/setup/doctype/company/company.py:383 #: erpnext/support/doctype/warranty_claim/warranty_claim.json msgid "Work In Progress" msgstr "" @@ -55392,7 +55502,6 @@ msgstr "" #. Option for the 'Transfer Material Against' (Select) field in DocType 'Work #. Order' #. Label of a Link in the Manufacturing Workspace -#. Label of a shortcut in the Manufacturing Workspace #. Label of the work_order (Link) field in DocType 'Material Request' #. Label of the work_order (Link) field in DocType 'Pick List' #. Label of the work_order (Link) field in DocType 'Serial No' @@ -55401,7 +55510,7 @@ msgstr "" #. Entry' #. Option for the 'From Voucher Type' (Select) field in DocType 'Stock #. Reservation Entry' -#: erpnext/manufacturing/doctype/bom/bom.js:189 +#: erpnext/manufacturing/doctype/bom/bom.js:217 #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/doctype/work_order/work_order.json @@ -55423,7 +55532,7 @@ msgstr "" #: erpnext/stock/doctype/serial_no/serial_no.json #: erpnext/stock/doctype/stock_entry/stock_entry.json #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json -#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:508 +#: erpnext/stock/report/serial_no_and_batch_traceability/serial_no_and_batch_traceability.py:512 #: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.js:142 #: erpnext/templates/pages/material_request_info.html:45 msgid "Work Order" @@ -55482,12 +55591,12 @@ msgstr "" msgid "Work Order cannot be created for following reason:
    {0}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:1374 +#: erpnext/manufacturing/doctype/work_order/work_order.py:1378 msgid "Work Order cannot be raised against a Item Template" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:2381 -#: erpnext/manufacturing/doctype/work_order/work_order.py:2461 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2385 +#: erpnext/manufacturing/doctype/work_order/work_order.py:2465 msgid "Work Order has been {0}" msgstr "" @@ -55495,11 +55604,11 @@ msgstr "" msgid "Work Order not created" msgstr "" -#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1372 +#: erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py:1371 msgid "Work Order {0} created" msgstr "" -#: erpnext/stock/doctype/stock_entry/stock_entry.py:814 +#: erpnext/stock/doctype/stock_entry/stock_entry.py:825 msgid "Work Order {0}: Job Card not found for the operation {1}" msgstr "" @@ -55529,7 +55638,7 @@ msgstr "" msgid "Work-in-Progress Warehouse" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:735 +#: erpnext/manufacturing/doctype/work_order/work_order.py:739 msgid "Work-in-Progress Warehouse is required before Submit" msgstr "" @@ -55668,7 +55777,7 @@ msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json -#: erpnext/setup/doctype/company/company.py:658 +#: erpnext/setup/doctype/company/company.py:665 msgid "Write Off" msgstr "" @@ -55818,15 +55927,15 @@ msgstr "" msgid "You are importing data for the code list:" msgstr "" -#: erpnext/controllers/accounts_controller.py:3855 +#: erpnext/controllers/accounts_controller.py:3859 msgid "You are not allowed to update as per the conditions set in {} Workflow." msgstr "" -#: erpnext/accounts/general_ledger.py:793 +#: erpnext/accounts/general_ledger.py:809 msgid "You are not authorized to add or update entries before {0}" msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:338 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:337 msgid "You are not authorized to make/edit Stock Transactions for Item {0} under warehouse {1} before this time." msgstr "" @@ -55834,7 +55943,7 @@ msgstr "" msgid "You are not authorized to set Frozen value" msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:489 +#: erpnext/stock/doctype/pick_list/pick_list.py:477 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 "" @@ -55850,20 +55959,20 @@ msgstr "" msgid "You can also set default CWIP account in Company {}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:990 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1016 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:681 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:703 msgid "You can not enter current voucher in 'Against Journal Entry' column" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:174 +#: erpnext/accounts/doctype/subscription/subscription.py:173 msgid "You can only have Plans with the same billing cycle in a Subscription" msgstr "" #: erpnext/accounts/doctype/pos_invoice/pos_invoice.js:423 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:906 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:924 msgid "You can only redeem max {0} points in this order." msgstr "" @@ -55879,11 +55988,11 @@ msgstr "" msgid "You can set it as a machine name or operation type. For example, stiching machine 12" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1211 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1230 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:189 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:217 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 "" @@ -55891,7 +56000,7 @@ msgstr "" msgid "You can't redeem Loyalty Points having more value than the Total Amount." msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:698 +#: erpnext/manufacturing/doctype/bom/bom.js:727 msgid "You cannot change the rate if BOM is mentioned against any Item." msgstr "" @@ -55899,15 +56008,15 @@ msgstr "" msgid "You cannot create a {0} within the closed Accounting Period {1}" msgstr "" -#: erpnext/accounts/general_ledger.py:177 +#: erpnext/accounts/general_ledger.py:181 msgid "You cannot create or cancel any accounting entries with in the closed Accounting Period {0}" msgstr "" -#: erpnext/accounts/general_ledger.py:813 +#: erpnext/accounts/general_ledger.py:829 msgid "You cannot create/amend any accounting entries till this date." msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:914 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:936 msgid "You cannot credit and debit same account at the same time" msgstr "" @@ -55923,15 +56032,19 @@ msgstr "" msgid "You cannot enable both the settings '{0}' and '{1}'." msgstr "" +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:155 +msgid "You cannot outward following {0} as either they are Delivered, Inactive or located in a different warehouse." +msgstr "" + #: erpnext/selling/page/point_of_sale/pos_payment.js:625 msgid "You cannot redeem more than {0}." msgstr "" -#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:183 +#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py:189 msgid "You cannot repost item valuation before {}" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:703 +#: erpnext/accounts/doctype/subscription/subscription.py:719 msgid "You cannot restart a Subscription that is not cancelled." msgstr "" @@ -55943,11 +56056,11 @@ 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:106 msgid "You cannot {0} this document because another Period Closing Entry {1} exists after {2}" msgstr "" -#: erpnext/controllers/accounts_controller.py:3831 +#: erpnext/controllers/accounts_controller.py:3835 msgid "You do not have permissions to {} items in a {}." msgstr "" @@ -55963,11 +56076,11 @@ msgstr "" msgid "You had {} errors while creating opening invoices. Check {} for more details" msgstr "" -#: erpnext/public/js/utils.js:942 +#: erpnext/public/js/utils.js:950 msgid "You have already selected items from {0} {1}" msgstr "" -#: erpnext/projects/doctype/project/project.py:363 +#: erpnext/projects/doctype/project/project.py:361 msgid "You have been invited to collaborate on the project {0}." msgstr "" @@ -55983,15 +56096,15 @@ msgstr "" msgid "You have entered a duplicate Delivery Note on Row" msgstr "" -#: erpnext/stock/doctype/item/item.py:1061 +#: erpnext/stock/doctype/item/item.py:1080 msgid "You have to enable auto re-order in Stock Settings to maintain re-order levels." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:308 +#: erpnext/selling/page/point_of_sale/pos_controller.js:281 msgid "You have unsaved changes. Do you want to save the invoice?" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:767 +#: erpnext/selling/page/point_of_sale/pos_controller.js:740 msgid "You must select a customer before adding an item." msgstr "" @@ -55999,7 +56112,7 @@ msgstr "" msgid "You need to cancel POS Closing Entry {} to be able to cancel this document." msgstr "" -#: erpnext/controllers/accounts_controller.py:3206 +#: erpnext/controllers/accounts_controller.py:3210 msgid "You selected the account group {1} as {2} Account in row {0}. Please select a single account." msgstr "" @@ -56036,7 +56149,7 @@ msgstr "" msgid "Youtube Statistics" msgstr "" -#: erpnext/public/js/utils/contact_address_quick_entry.js:87 +#: erpnext/public/js/utils/contact_address_quick_entry.js:88 msgid "ZIP Code" msgstr "" @@ -56063,11 +56176,11 @@ msgstr "" msgid "[Important] [ERPNext] Auto Reorder Errors" msgstr "" -#: erpnext/controllers/status_updater.py:287 +#: erpnext/controllers/status_updater.py:290 msgid "`Allow Negative rates for Items`" msgstr "" -#: erpnext/stock/stock_ledger.py:2041 +#: erpnext/stock/stock_ledger.py:2008 msgid "after" msgstr "" @@ -56083,7 +56196,7 @@ msgstr "" msgid "as Title" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.js:966 +#: erpnext/manufacturing/doctype/bom/bom.js:995 msgid "as a percentage of finished item quantity" msgstr "" @@ -56104,7 +56217,7 @@ msgid "cannot be greater than 100" msgstr "" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:334 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1078 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1104 msgid "dated {0}" msgstr "" @@ -56152,7 +56265,7 @@ msgstr "" msgid "exchangerate.host" msgstr "" -#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:184 +#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:183 msgid "fieldname" msgstr "" @@ -56228,7 +56341,7 @@ msgstr "" msgid "out of 5" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1310 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1228 msgid "paid to" msgstr "" @@ -56253,7 +56366,7 @@ msgstr "" msgid "per hour" msgstr "" -#: erpnext/stock/stock_ledger.py:2042 +#: erpnext/stock/stock_ledger.py:2009 msgid "performing either one below:" msgstr "" @@ -56278,11 +56391,11 @@ msgstr "" msgid "ratings" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1310 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1228 msgid "received from" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1399 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1475 msgid "returned" msgstr "" @@ -56317,16 +56430,16 @@ msgstr "" msgid "sandbox" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1399 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1475 msgid "sold" msgstr "" -#: erpnext/accounts/doctype/subscription/subscription.py:679 +#: erpnext/accounts/doctype/subscription/subscription.py:695 msgid "subscription is already cancelled." msgstr "" -#: erpnext/controllers/status_updater.py:459 -#: erpnext/controllers/status_updater.py:478 +#: erpnext/controllers/status_updater.py:462 +#: erpnext/controllers/status_updater.py:481 msgid "target_ref_field" msgstr "" @@ -56344,7 +56457,7 @@ msgstr "" msgid "to" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3087 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:3163 msgid "to unallocate the amount of this Return Invoice before cancelling it." msgstr "" @@ -56371,7 +56484,7 @@ msgstr "" msgid "you must select Capital Work in Progress Account in accounts table" msgstr "" -#: erpnext/controllers/accounts_controller.py:1279 +#: erpnext/controllers/accounts_controller.py:1283 msgid "{0} '{1}' is disabled" msgstr "" @@ -56379,7 +56492,7 @@ msgstr "" msgid "{0} '{1}' not in Fiscal Year {2}" msgstr "" -#: erpnext/manufacturing/doctype/work_order/work_order.py:627 +#: erpnext/manufacturing/doctype/work_order/work_order.py:631 msgid "{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3}" msgstr "" @@ -56387,7 +56500,7 @@ msgstr "" msgid "{0} {1} has submitted Assets. Remove Item {2} from table to continue." msgstr "" -#: erpnext/controllers/accounts_controller.py:2364 +#: erpnext/controllers/accounts_controller.py:2368 msgid "{0} Account not found against Customer {1}." msgstr "" @@ -56395,15 +56508,15 @@ msgstr "" msgid "{0} Account: {1} ({2}) must be in either customer billing currency: {3} or Company default currency: {4}" msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:547 +#: erpnext/accounts/doctype/budget/budget.py:545 msgid "{0} Budget for Account {1} against {2} {3} is {4}. It is already exceeded by {5}." msgstr "" -#: erpnext/accounts/doctype/budget/budget.py:550 +#: erpnext/accounts/doctype/budget/budget.py:548 msgid "{0} Budget for Account {1} against {2} {3} is {4}. It will be exceeded by {5}." msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:770 +#: erpnext/accounts/doctype/pricing_rule/utils.py:769 msgid "{0} Coupon used are {1}. Allowed quantity is exhausted" msgstr "" @@ -56411,11 +56524,11 @@ msgstr "" msgid "{0} Digest" msgstr "" -#: erpnext/accounts/utils.py:1444 +#: erpnext/accounts/utils.py:1485 msgid "{0} Number {1} is already used in {2} {3}" msgstr "" -#: erpnext/manufacturing/doctype/bom/bom.py:1560 +#: erpnext/manufacturing/doctype/bom/bom.py:1575 msgid "{0} Operating Cost for operation {1}" msgstr "" @@ -56427,11 +56540,11 @@ msgstr "" msgid "{0} Request for {1}" msgstr "" -#: erpnext/stock/doctype/item/item.py:323 +#: erpnext/stock/doctype/item/item.py:342 msgid "{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item" msgstr "" -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:457 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:461 msgid "{0} Transaction(s) Reconciled" msgstr "" @@ -56443,23 +56556,23 @@ msgstr "" msgid "{0} account is not of type {1}" msgstr "" -#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:514 +#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:512 msgid "{0} account not found while submitting purchase receipt" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1034 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1056 msgid "{0} against Bill {1} dated {2}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1043 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1065 msgid "{0} against Purchase Order {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1010 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1032 msgid "{0} against Sales Invoice {1}" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1017 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1039 msgid "{0} against Sales Order {1}" msgstr "" @@ -56480,7 +56593,7 @@ msgstr "" msgid "{0} can not be negative" msgstr "" -#: erpnext/accounts/doctype/pos_settings/pos_settings.py:52 +#: erpnext/accounts/doctype/pos_settings/pos_settings.py:53 msgid "{0} cannot be changed with opened Opening Entries." msgstr "" @@ -56488,12 +56601,13 @@ msgstr "" msgid "{0} cannot be used as a Main Cost Center because it has been used as child in Cost Center Allocation {1}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:120 +#: erpnext/accounts/doctype/payment_request/payment_request.py:123 msgid "{0} cannot be zero" msgstr "" -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:897 -#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1013 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:917 +#: erpnext/manufacturing/doctype/production_plan/production_plan.py:1033 +#: erpnext/stock/doctype/pick_list/pick_list.py:1259 #: erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py:322 msgid "{0} created" msgstr "" @@ -56502,15 +56616,15 @@ msgstr "" msgid "{0} creation for the following records will be skipped." msgstr "" -#: erpnext/setup/doctype/company/company.py:283 +#: erpnext/setup/doctype/company/company.py:290 msgid "{0} currency must be same as company's default currency. Please select another account." msgstr "" -#: erpnext/buying/doctype/purchase_order/purchase_order.py:332 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:290 msgid "{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution." msgstr "" -#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:112 +#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:127 msgid "{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution." msgstr "" @@ -56518,7 +56632,7 @@ msgstr "" msgid "{0} does not belong to Company {1}" msgstr "" -#: erpnext/controllers/accounts_controller.py:352 +#: erpnext/controllers/accounts_controller.py:350 msgid "{0} does not belong to the Company {1}." msgstr "" @@ -56526,8 +56640,8 @@ msgstr "" msgid "{0} entered twice in Item Tax" msgstr "" -#: erpnext/setup/doctype/item_group/item_group.py:48 -#: erpnext/stock/doctype/item/item.py:454 +#: erpnext/setup/doctype/item_group/item_group.py:47 +#: erpnext/stock/doctype/item/item.py:473 msgid "{0} entered twice {1} in Item Taxes" msgstr "" @@ -56536,11 +56650,11 @@ msgstr "" msgid "{0} for {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:447 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:452 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:773 +#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:805 msgid "{0} has been modified after you pulled it. Please pull it again." msgstr "" @@ -56552,7 +56666,7 @@ msgstr "" msgid "{0} hours" msgstr "" -#: erpnext/controllers/accounts_controller.py:2719 +#: erpnext/controllers/accounts_controller.py:2723 msgid "{0} in row {1}" msgstr "" @@ -56566,7 +56680,7 @@ msgstr "" msgid "{0} is added multiple times on rows: {1}" msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:198 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:201 msgid "{0} is already running for {1}" msgstr "" @@ -56574,16 +56688,16 @@ msgstr "" msgid "{0} is blocked so this transaction cannot proceed" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:497 +#: erpnext/assets/doctype/asset/asset.py:499 msgid "{0} is in Draft. Submit it before creating the Asset." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1107 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1133 msgid "{0} is mandatory for Item {1}" msgstr "" #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:99 -#: erpnext/accounts/general_ledger.py:837 +#: erpnext/accounts/general_ledger.py:853 msgid "{0} is mandatory for account {1}" msgstr "" @@ -56591,11 +56705,11 @@ msgstr "" msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}" msgstr "" -#: erpnext/controllers/accounts_controller.py:3163 +#: erpnext/controllers/accounts_controller.py:3167 msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}." msgstr "" -#: erpnext/selling/doctype/customer/customer.py:204 +#: erpnext/selling/doctype/customer/customer.py:209 msgid "{0} is not a company bank account" msgstr "" @@ -56619,7 +56733,7 @@ msgstr "" msgid "{0} is not enabled in {1}" msgstr "" -#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:206 +#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:209 msgid "{0} is not running. Cannot trigger events for this Document" msgstr "" @@ -56627,7 +56741,7 @@ msgstr "" msgid "{0} is not the default supplier for any items." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3015 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2936 msgid "{0} is on hold till {1}" msgstr "" @@ -56651,7 +56765,7 @@ msgstr "" msgid "{0} must be negative in return document" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2290 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2366 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 "" @@ -56667,36 +56781,36 @@ msgstr "" msgid "{0} payment entries can not be filtered by {1}" msgstr "" -#: erpnext/controllers/stock_controller.py:1680 +#: erpnext/controllers/stock_controller.py:1690 msgid "{0} qty of Item {1} is being received into Warehouse {2} with capacity {3}." msgstr "" -#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:703 +#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:702 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:1029 +#: erpnext/stock/doctype/pick_list/pick_list.py:1017 msgid "{0} units of Item {1} is not available in any of the warehouses." msgstr "" -#: erpnext/stock/doctype/pick_list/pick_list.py:1021 +#: erpnext/stock/doctype/pick_list/pick_list.py:1009 msgid "{0} units of Item {1} is picked in another Pick List." msgstr "" -#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:145 +#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:144 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:1687 erpnext/stock/stock_ledger.py:2193 -#: erpnext/stock/stock_ledger.py:2207 +#: erpnext/stock/stock_ledger.py:1682 erpnext/stock/stock_ledger.py:2160 +#: erpnext/stock/stock_ledger.py:2174 msgid "{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction." msgstr "" -#: erpnext/stock/stock_ledger.py:2294 erpnext/stock/stock_ledger.py:2339 +#: erpnext/stock/stock_ledger.py:2261 erpnext/stock/stock_ledger.py:2306 msgid "{0} units of {1} needed in {2} on {3} {4} to complete this transaction." msgstr "" -#: erpnext/stock/stock_ledger.py:1681 +#: erpnext/stock/stock_ledger.py:1676 msgid "{0} units of {1} needed in {2} to complete this transaction." msgstr "" @@ -56704,15 +56818,15 @@ msgstr "" msgid "{0} until {1}" msgstr "" -#: erpnext/stock/utils.py:428 +#: erpnext/stock/utils.py:400 msgid "{0} valid serial nos for Item {1}" msgstr "" -#: erpnext/stock/doctype/item/item.js:750 +#: erpnext/stock/doctype/item/item.js:757 msgid "{0} variants created." msgstr "" -#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:232 +#: erpnext/accounts/doctype/financial_report_template/financial_report_engine.py:238 msgid "{0} view is currently unsupported in Custom Financial Report." msgstr "" @@ -56724,7 +56838,7 @@ msgstr "" msgid "{0} will be set as the {1} in subsequently scanned items" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:884 +#: erpnext/manufacturing/doctype/job_card/job_card.py:903 msgid "{0} {1}" msgstr "" @@ -56732,7 +56846,7 @@ msgstr "" msgid "{0} {1} Manually" msgstr "" -#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:461 +#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:465 msgid "{0} {1} Partially Reconciled" msgstr "" @@ -56744,25 +56858,25 @@ msgstr "" msgid "{0} {1} created" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:607 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:660 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2757 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:612 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:665 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2678 msgid "{0} {1} does not exist" msgstr "" -#: erpnext/accounts/party.py:568 +#: erpnext/accounts/party.py:565 msgid "{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:457 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:462 msgid "{0} {1} has already been fully paid." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:467 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:472 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:472 +#: erpnext/buying/doctype/purchase_order/purchase_order.py:430 #: erpnext/selling/doctype/sales_order/sales_order.py:585 #: erpnext/stock/doctype/material_request/material_request.py:247 msgid "{0} {1} has been modified. Please refresh." @@ -56772,7 +56886,7 @@ msgstr "" msgid "{0} {1} has not been submitted so the action cannot be completed" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:96 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:99 msgid "{0} {1} is allocated twice in this Bank Transaction" msgstr "" @@ -56780,12 +56894,12 @@ msgstr "" msgid "{0} {1} is already linked to Common Code {2}." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:690 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:695 msgid "{0} {1} is associated with {2}, but Party Account is {3}" msgstr "" #: erpnext/controllers/selling_controller.py:526 -#: erpnext/controllers/subcontracting_controller.py:1140 +#: erpnext/controllers/subcontracting_controller.py:1139 msgid "{0} {1} is cancelled or closed" msgstr "" @@ -56797,27 +56911,27 @@ msgstr "" msgid "{0} {1} is cancelled so the action cannot be completed" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:829 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:851 msgid "{0} {1} is closed" msgstr "" -#: erpnext/accounts/party.py:806 +#: erpnext/accounts/party.py:803 msgid "{0} {1} is disabled" msgstr "" -#: erpnext/accounts/party.py:812 +#: erpnext/accounts/party.py:809 msgid "{0} {1} is frozen" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:826 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:848 msgid "{0} {1} is fully billed" msgstr "" -#: erpnext/accounts/party.py:816 +#: erpnext/accounts/party.py:813 msgid "{0} {1} is not active" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:667 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:672 msgid "{0} {1} is not associated with {2} {3}" msgstr "" @@ -56825,20 +56939,20 @@ msgstr "" msgid "{0} {1} is not in any active Fiscal Year" msgstr "" -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:823 -#: erpnext/accounts/doctype/journal_entry/journal_entry.py:862 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:845 +#: erpnext/accounts/doctype/journal_entry/journal_entry.py:884 msgid "{0} {1} is not submitted" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:700 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:705 msgid "{0} {1} is on hold" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:706 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:711 msgid "{0} {1} must be submitted" msgstr "" -#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:272 +#: erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py:275 msgid "{0} {1} not allowed to be reposted. Modify {2} to enable reposting." msgstr "" @@ -56850,26 +56964,26 @@ msgstr "" msgid "{0} {1} via CSV File" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:227 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:225 msgid "{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:253 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:251 #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:85 msgid "{0} {1}: Account {2} does not belong to Company {3}" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:241 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:239 #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:73 msgid "{0} {1}: Account {2} is a Group Account and group accounts cannot be used in transactions" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:248 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:246 #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.py:80 msgid "{0} {1}: Account {2} is inactive" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:294 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:292 msgid "{0} {1}: Accounting Entry for {2} can only be made in currency: {3}" msgstr "" @@ -56881,11 +56995,11 @@ msgstr "" msgid "{0} {1}: Cost Center is required for 'Profit and Loss' account {2}." msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:266 +#: erpnext/accounts/doctype/gl_entry/gl_entry.py:264 msgid "{0} {1}: Cost Center {2} does not belong to Company {3}" msgstr "" -#: erpnext/accounts/doctype/gl_entry/gl_entry.py:273 +#: 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" msgstr "" @@ -56922,32 +57036,32 @@ msgstr "" msgid "{0}'s {1} cannot be after {2}'s Expected End Date." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1183 -#: erpnext/manufacturing/doctype/job_card/job_card.py:1191 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1202 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1210 msgid "{0}, complete the operation {1} before the operation {2}." msgstr "" -#: erpnext/controllers/accounts_controller.py:542 +#: erpnext/controllers/accounts_controller.py:540 msgid "{0}: {1} does not belong to the Company: {2}" msgstr "" -#: erpnext/accounts/party.py:80 +#: erpnext/accounts/party.py:78 msgid "{0}: {1} does not exists" msgstr "" -#: erpnext/setup/doctype/company/company.py:270 +#: erpnext/setup/doctype/company/company.py:277 msgid "{0}: {1} is a group account." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:968 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:979 msgid "{0}: {1} must be less than {2}" msgstr "" -#: erpnext/controllers/buying_controller.py:1009 +#: erpnext/controllers/buying_controller.py:1002 msgid "{count} Assets created for {item_code}" msgstr "" -#: erpnext/controllers/buying_controller.py:907 +#: erpnext/controllers/buying_controller.py:900 msgid "{doctype} {name} is cancelled or closed." msgstr "" @@ -56955,73 +57069,19 @@ msgstr "" msgid "{field_label} is mandatory for sub-contracted {doctype}." msgstr "" -#: erpnext/controllers/stock_controller.py:2085 +#: erpnext/controllers/stock_controller.py:2095 msgid "{item_name}'s Sample Size ({sample_size}) cannot be greater than the Accepted Quantity ({accepted_quantity})" msgstr "" -#: erpnext/controllers/buying_controller.py:732 +#: erpnext/controllers/buying_controller.py:725 msgid "{ref_doctype} {ref_name} is {status}." msgstr "" -#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:432 +#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:431 msgid "{}" msgstr "" -#. Count format of shortcut in the Stock Workspace -#: erpnext/stock/workspace/stock/stock.json -msgid "{} Available" -msgstr "" - -#. Count format of shortcut in the Selling Workspace -#: erpnext/selling/workspace/selling/selling.json -msgid "{} To Deliver" -msgstr "" - -#. Count format of shortcut in the Buying Workspace -#: erpnext/buying/workspace/buying/buying.json -msgid "{} To Receive" -msgstr "" - -#. Count format of shortcut in the CRM Workspace -#. Count format of shortcut in the Projects Workspace -#. Count format of shortcut in the Support Workspace -#: erpnext/crm/workspace/crm/crm.json -#: erpnext/projects/workspace/projects/projects.json -#: erpnext/support/workspace/support/support.json -msgid "{} Assigned" -msgstr "" - -#. Count format of shortcut in the Buying Workspace -#. Count format of shortcut in the Selling Workspace -#: erpnext/buying/workspace/buying/buying.json -#: erpnext/selling/workspace/selling/selling.json -msgid "{} Available" -msgstr "" - -#. Count format of shortcut in the CRM Workspace -#. Count format of shortcut in the Projects Workspace -#. Count format of shortcut in the Quality Workspace -#. Count format of shortcut in the Selling Workspace -#: erpnext/crm/workspace/crm/crm.json -#: erpnext/projects/workspace/projects/projects.json -#: erpnext/quality_management/workspace/quality/quality.json -#: erpnext/selling/workspace/selling/selling.json -msgid "{} Open" -msgstr "" - -#. Count format of shortcut in the Buying Workspace -#. Count format of shortcut in the Stock Workspace -#: erpnext/buying/workspace/buying/buying.json -#: erpnext/stock/workspace/stock/stock.json -msgid "{} Pending" -msgstr "" - -#. Count format of shortcut in the Stock Workspace -#: erpnext/stock/workspace/stock/stock.json -msgid "{} To Bill" -msgstr "" - -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2056 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2132 msgid "{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {}" msgstr "" @@ -57042,7 +57102,7 @@ msgstr "" msgid "{} {} is already linked with {} {}" msgstr "" -#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:385 +#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:388 msgid "{} {} is not affecting bank account {}" msgstr "" diff --git a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py index 206c9687c31..1878b363253 100644 --- a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py +++ b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py b/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py index 51a27983269..ff671b1d304 100644 --- a/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py +++ b/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index 34ce59e6e51..9b526508f31 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -92,6 +92,10 @@ frappe.ui.form.on("BOM", { }; }); + frm.events.set_company_filters(frm, "project"); + frm.events.set_company_filters(frm, "default_source_warehouse"); + frm.events.set_company_filters(frm, "default_target_warehouse"); + frm.trigger("toggle_fields_for_semi_finished_goods"); }, @@ -104,6 +108,16 @@ frappe.ui.form.on("BOM", { } }, + set_company_filters: function (frm, fieldname) { + frm.set_query(fieldname, () => { + return { + filters: { + company: frm.doc.company, + }, + }; + }); + }, + track_semi_finished_goods(frm) { frm.trigger("toggle_fields_for_semi_finished_goods"); }, diff --git a/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py b/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py index b59b336c657..c24ef38359a 100644 --- a/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py +++ b/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py b/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py index 050b5d7d0f2..a12067e8e65 100644 --- a/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py +++ b/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py b/erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py index 9698bd8eb49..38eff29df30 100644 --- a/erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py +++ b/erpnext/manufacturing/doctype/master_production_schedule/master_production_schedule.py @@ -6,10 +6,7 @@ import math import frappe from frappe import _, bold from frappe.model.document import Document -from frappe.model.mapper import get_mapped_doc -from frappe.query_builder.functions import Sum -from frappe.utils import add_days, flt, getdate, parse_json, today -from frappe.utils.nestedset import get_descendants_of +from frappe.utils import add_days, getdate, parse_json class MasterProductionSchedule(Document): diff --git a/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py b/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py index f903d2dce2d..ce9914a4aac 100644 --- a/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py +++ b/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/operation/test_operation.py b/erpnext/manufacturing/doctype/operation/test_operation.py index d9867e74557..fccf28d7cab 100644 --- a/erpnext/manufacturing/doctype/operation/test_operation.py +++ b/erpnext/manufacturing/doctype/operation/test_operation.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py index 772d9466228..8ef41a624ce 100644 --- a/erpnext/manufacturing/doctype/production_plan/production_plan.py +++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py @@ -9,7 +9,6 @@ from collections import defaultdict import frappe from frappe import _, msgprint from frappe.model.document import Document -from frappe.model.mapper import get_mapped_doc from frappe.query_builder import Case from frappe.query_builder.functions import IfNull, Sum from frappe.utils import ( diff --git a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py index ea318dfa18c..43346e4cc4b 100644 --- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py +++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py @@ -2132,7 +2132,6 @@ class TestProductionPlan(IntegrationTestCase): from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.stock.doctype.material_request.material_request import make_purchase_order - from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) @@ -2245,7 +2244,6 @@ class TestProductionPlan(IntegrationTestCase): from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.stock.doctype.material_request.material_request import make_purchase_order - from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) @@ -2393,7 +2391,6 @@ class TestProductionPlan(IntegrationTestCase): from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.stock.doctype.material_request.material_request import make_purchase_order - from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) diff --git a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py index bab30fa6a92..e3dfd797871 100644 --- a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py +++ b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/sales_forecast/sales_forecast.py b/erpnext/manufacturing/doctype/sales_forecast/sales_forecast.py index b0762c99438..d6c31ff351b 100644 --- a/erpnext/manufacturing/doctype/sales_forecast/sales_forecast.py +++ b/erpnext/manufacturing/doctype/sales_forecast/sales_forecast.py @@ -2,7 +2,6 @@ # For license information, please see license.txt import frappe -from frappe import _ from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc from frappe.utils import add_to_date diff --git a/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py b/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py index 05486e98777..49baa6a0120 100644 --- a/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py +++ b/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index e6ff7407e29..faa6b08398d 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -502,8 +502,8 @@ class WorkOrder(Document): def validate_work_order_against_so(self): # already ordered qty ordered_qty_against_so = frappe.db.sql( - """select sum(qty) from `tabWork Order` - where production_item = %s and sales_order = %s and docstatus < 2 and status != 'Closed' and name != %s""", + """select sum(qty - process_loss_qty) from `tabWork Order` + where production_item = %s and sales_order = %s and docstatus = 1 and status != 'Closed' and name != %s""", (self.production_item, self.sales_order, self.name), )[0][0] @@ -512,13 +512,13 @@ class WorkOrder(Document): # get qty from Sales Order Item table so_item_qty = frappe.db.sql( """select sum(stock_qty) from `tabSales Order Item` - where parent = %s and item_code = %s""", + where parent = %s and item_code = %s and docstatus = 1""", (self.sales_order, self.production_item), )[0][0] # get qty from Packing Item table dnpi_qty = frappe.db.sql( """select sum(qty) from `tabPacked Item` - where parent = %s and parenttype = 'Sales Order' and item_code = %s""", + where parent = %s and parenttype = 'Sales Order' and item_code = %s and docstatus = 1""", (self.sales_order, self.production_item), )[0][0] # total qty in SO @@ -530,8 +530,10 @@ class WorkOrder(Document): if total_qty > so_qty + (allowance_percentage / 100 * so_qty): frappe.throw( - _("Cannot produce more Item {0} than Sales Order quantity {1}").format( - self.production_item, so_qty + _("Cannot produce more Item {0} than Sales Order quantity {1} {2}").format( + get_link_to_form("Item", self.production_item), + frappe.bold(so_qty), + frappe.bold(frappe.get_value("Item", self.production_item, "stock_uom")), ), OverProductionError, ) diff --git a/erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py b/erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py index ee93cdc27e5..52a4f13fe09 100644 --- a/erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py +++ b/erpnext/manufacturing/report/material_requirements_planning_report/material_requirements_planning_report.py @@ -15,7 +15,6 @@ from frappe.utils import ( days_diff, flt, formatdate, - get_date_str, get_first_day, getdate, parse_json, diff --git a/erpnext/manufacturing/report/test_reports.py b/erpnext/manufacturing/report/test_reports.py index 6fcef563a8b..2edacfd423d 100644 --- a/erpnext/manufacturing/report/test_reports.py +++ b/erpnext/manufacturing/report/test_reports.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 2a6950754d1..b45e65a4a79 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -457,4 +457,5 @@ erpnext.patches.v16_0.migrate_tax_withholding_data erpnext.patches.v16_0.update_corrected_cancelled_status erpnext.patches.v16_0.fix_barcode_typo erpnext.patches.v16_0.set_post_change_gl_entries_on_pos_settings -erpnext.patches.v15_0.create_accounting_dimensions_in_advance_taxes_and_charges \ No newline at end of file +erpnext.patches.v15_0.create_accounting_dimensions_in_advance_taxes_and_charges +execute:frappe.delete_doc_if_exists("Workspace Sidebar", "Opening & Closing") diff --git a/erpnext/patches/v15_0/update_invoice_remarks.py b/erpnext/patches/v15_0/update_invoice_remarks.py index 9146713815f..a369b6b685c 100644 --- a/erpnext/patches/v15_0/update_invoice_remarks.py +++ b/erpnext/patches/v15_0/update_invoice_remarks.py @@ -1,5 +1,4 @@ import frappe -from frappe import _ def execute(): diff --git a/erpnext/patches/v15_0/update_pegged_currencies.py b/erpnext/patches/v15_0/update_pegged_currencies.py index c74e55fd5ed..e0b03400b11 100644 --- a/erpnext/patches/v15_0/update_pegged_currencies.py +++ b/erpnext/patches/v15_0/update_pegged_currencies.py @@ -1,5 +1,3 @@ -import frappe - from erpnext.setup.install import update_pegged_currencies diff --git a/erpnext/patches/v16_0/update_account_categories_for_existing_accounts.py b/erpnext/patches/v16_0/update_account_categories_for_existing_accounts.py index 0290ef44c7d..22535180409 100644 --- a/erpnext/patches/v16_0/update_account_categories_for_existing_accounts.py +++ b/erpnext/patches/v16_0/update_account_categories_for_existing_accounts.py @@ -2,7 +2,6 @@ # For license information, please see license.txt import frappe -from frappe import _ from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import get_chart_metadata_fields from erpnext.accounts.doctype.account.chart_of_accounts.verified import standard_chart_of_accounts diff --git a/erpnext/projects/doctype/activity_cost/test_activity_cost.py b/erpnext/projects/doctype/activity_cost/test_activity_cost.py index 470b21cca87..ffac534a3f6 100644 --- a/erpnext/projects/doctype/activity_cost/test_activity_cost.py +++ b/erpnext/projects/doctype/activity_cost/test_activity_cost.py @@ -1,9 +1,7 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest import frappe -from frappe.tests import IntegrationTestCase from erpnext.projects.doctype.activity_cost.activity_cost import DuplicationError from erpnext.tests.utils import ERPNextTestSuite diff --git a/erpnext/projects/doctype/activity_type/test_activity_type.py b/erpnext/projects/doctype/activity_type/test_activity_type.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/projects/doctype/activity_type/test_activity_type.py +++ b/erpnext/projects/doctype/activity_type/test_activity_type.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index c7023dd9423..4fc1dac57cc 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -9,7 +9,7 @@ from frappe.desk.reportview import get_match_cond from frappe.model.document import Document from frappe.query_builder import Interval from frappe.query_builder.functions import Count, CurDate, Date, Sum, UnixTimestamp -from frappe.utils import add_days, flt, get_datetime, get_link_to_form, get_time, get_url, nowtime, today +from frappe.utils import add_days, flt, get_datetime, get_link_to_form, get_time, nowtime, today from frappe.utils.user import is_website_user from erpnext import get_default_company diff --git a/erpnext/projects/doctype/project/test_project.py b/erpnext/projects/doctype/project/test_project.py index 2f1974ee4cb..dce1db4e9b7 100644 --- a/erpnext/projects/doctype/project/test_project.py +++ b/erpnext/projects/doctype/project/test_project.py @@ -2,7 +2,6 @@ # License: GNU General Public License v3. See license.txt import frappe -from frappe.tests import IntegrationTestCase from frappe.utils import add_days, getdate, nowdate from erpnext.projects.doctype.project_template.test_project_template import make_project_template diff --git a/erpnext/projects/doctype/project_template/test_project_template.py b/erpnext/projects/doctype/project_template/test_project_template.py index 2671d7a02ec..02947c1a8d1 100644 --- a/erpnext/projects/doctype/project_template/test_project_template.py +++ b/erpnext/projects/doctype/project_template/test_project_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/projects/doctype/project_type/test_project_type.py b/erpnext/projects/doctype/project_type/test_project_type.py index 31e0f840db3..77bd2f63339 100644 --- a/erpnext/projects/doctype/project_type/test_project_type.py +++ b/erpnext/projects/doctype/project_type/test_project_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/projects/doctype/project_update/test_project_update.py b/erpnext/projects/doctype/project_update/test_project_update.py index 51f0ce14ac9..76a6dc0e656 100644 --- a/erpnext/projects/doctype/project_update/test_project_update.py +++ b/erpnext/projects/doctype/project_update/test_project_update.py @@ -1,8 +1,6 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest -import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/projects/doctype/projects_settings/test_projects_settings.py b/erpnext/projects/doctype/projects_settings/test_projects_settings.py index 06ecd2ad5dd..a977978ff26 100644 --- a/erpnext/projects/doctype/projects_settings/test_projects_settings.py +++ b/erpnext/projects/doctype/projects_settings/test_projects_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py index 30e35362aa9..20b4b343d21 100644 --- a/erpnext/projects/doctype/task/test_task.py +++ b/erpnext/projects/doctype/task/test_task.py @@ -2,7 +2,6 @@ # License: GNU General Public License v3. See license.txt import frappe -from frappe.tests import IntegrationTestCase from frappe.utils import add_days, getdate, nowdate from erpnext.projects.doctype.task.task import CircularReferenceError, ParentIsGroupError diff --git a/erpnext/projects/doctype/task_type/test_task_type.py b/erpnext/projects/doctype/task_type/test_task_type.py index 9f34e97592e..59380040ac6 100644 --- a/erpnext/projects/doctype/task_type/test_task_type.py +++ b/erpnext/projects/doctype/task_type/test_task_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/projects/doctype/timesheet/test_timesheet.py b/erpnext/projects/doctype/timesheet/test_timesheet.py index ed815c45884..e0769f995b2 100644 --- a/erpnext/projects/doctype/timesheet/test_timesheet.py +++ b/erpnext/projects/doctype/timesheet/test_timesheet.py @@ -1,12 +1,12 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import datetime -import unittest import frappe from frappe.tests import IntegrationTestCase from frappe.utils import add_to_date, now_datetime, nowdate +from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.projects.doctype.task.test_task import create_task from erpnext.projects.doctype.timesheet.timesheet import OverlapError, make_sales_invoice @@ -272,6 +272,60 @@ class TestTimesheet(ERPNextTestSuite): ts.calculate_percentage_billed() self.assertEqual(ts.per_billed, 100) + def test_partial_billing_and_return(self): + """ + Test Timesheet status transitions during partial billing, full billing, + sales return, and return cancellation. + + Scenario: + 1. Create a Timesheet with two billable time logs. + 2. Create a Sales Invoice billing only one time log → Timesheet becomes Partially Billed. + 3. Create another Sales Invoice billing the remaining time log → Timesheet becomes Billed. + 4. Create a Sales Return against the second invoice → Timesheet reverts to Partially Billed. + 5. Cancel the Sales Return → Timesheet returns to Billed status. + + This test ensures Timesheet status is recalculated correctly + across billing and return lifecycle events. + """ + emp = make_employee("test_employee_6@salary.com") + + timesheet = make_timesheet(emp, simulate=True, is_billable=1, do_not_submit=True) + timesheet_detail = timesheet.append("time_logs", {}) + timesheet_detail.is_billable = 1 + timesheet_detail.activity_type = "_Test Activity Type" + timesheet_detail.from_time = timesheet.time_logs[0].to_time + datetime.timedelta(minutes=1) + timesheet_detail.hours = 2 + timesheet_detail.to_time = timesheet_detail.from_time + datetime.timedelta( + hours=timesheet_detail.hours + ) + timesheet.save().submit() + + sales_invoice = make_sales_invoice(timesheet.name, "_Test Item", "_Test Customer", currency="INR") + sales_invoice.due_date = nowdate() + sales_invoice.timesheets.pop() + sales_invoice.submit() + + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Partially Billed") + + sales_invoice2 = make_sales_invoice(timesheet.name, "_Test Item", "_Test Customer", currency="INR") + sales_invoice2.due_date = nowdate() + sales_invoice2.submit() + + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Billed") + + sales_return = make_sales_return(sales_invoice2.name).submit() + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Partially Billed") + + sales_return.load_from_db() + sales_return.cancel() + + timesheet.load_from_db() + self.assertEqual(timesheet.time_logs[1].sales_invoice, sales_invoice2.name) + self.assertEqual(timesheet.status, "Billed") + def make_timesheet( employee, @@ -283,6 +337,7 @@ def make_timesheet( company=None, currency=None, exchange_rate=None, + do_not_submit=False, ): update_activity_type(activity_type) timesheet = frappe.new_doc("Timesheet") @@ -311,7 +366,8 @@ def make_timesheet( else: timesheet.save(ignore_permissions=True) - timesheet.submit() + if not do_not_submit: + timesheet.submit() return timesheet diff --git a/erpnext/projects/doctype/timesheet/timesheet.json b/erpnext/projects/doctype/timesheet/timesheet.json index 255f7e8ed97..0022ef9193b 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.json +++ b/erpnext/projects/doctype/timesheet/timesheet.json @@ -91,7 +91,7 @@ "in_standard_filter": 1, "label": "Status", "no_copy": 1, - "options": "Draft\nSubmitted\nBilled\nPayslip\nCompleted\nCancelled", + "options": "Draft\nSubmitted\nPartially Billed\nBilled\nPayslip\nCompleted\nCancelled", "print_hide": 1, "read_only": 1 }, @@ -310,7 +310,7 @@ "idx": 1, "is_submittable": 1, "links": [], - "modified": "2024-03-27 13:10:53.551907", + "modified": "2025-12-19 13:48:23.453636", "modified_by": "Administrator", "module": "Projects", "name": "Timesheet", @@ -386,8 +386,9 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "ASC", "states": [], "title_field": "title" -} \ No newline at end of file +} diff --git a/erpnext/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py index 866281bf1ef..7645ee263cc 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.py +++ b/erpnext/projects/doctype/timesheet/timesheet.py @@ -51,7 +51,9 @@ class Timesheet(Document): per_billed: DF.Percent sales_invoice: DF.Link | None start_date: DF.Date | None - status: DF.Literal["Draft", "Submitted", "Billed", "Payslip", "Completed", "Cancelled"] + status: DF.Literal[ + "Draft", "Submitted", "Partially Billed", "Billed", "Payslip", "Completed", "Cancelled" + ] time_logs: DF.Table[TimesheetDetail] title: DF.Data | None total_billable_amount: DF.Currency @@ -128,6 +130,9 @@ class Timesheet(Document): if flt(self.per_billed, self.precision("per_billed")) >= 100.0: self.status = "Billed" + if 0.0 < flt(self.per_billed, self.precision("per_billed")) < 100.0: + self.status = "Partially Billed" + if self.sales_invoice: self.status = "Completed" @@ -433,7 +438,7 @@ def make_sales_invoice(source_name, item_code=None, customer=None, currency=None target.append("items", {"item_code": item_code, "qty": hours, "rate": billing_rate}) for time_log in timesheet.time_logs: - if time_log.is_billable: + if time_log.is_billable and not time_log.sales_invoice: target.append( "timesheets", { diff --git a/erpnext/projects/doctype/timesheet/timesheet_list.js b/erpnext/projects/doctype/timesheet/timesheet_list.js index 0de568ce589..b733cccc787 100644 --- a/erpnext/projects/doctype/timesheet/timesheet_list.js +++ b/erpnext/projects/doctype/timesheet/timesheet_list.js @@ -1,6 +1,10 @@ frappe.listview_settings["Timesheet"] = { add_fields: ["status", "total_hours", "start_date", "end_date"], get_indicator: function (doc) { + if (doc.status == "Partially Billed") { + return [__("Partially Billed"), "orange", "status,=," + "Partially Billed"]; + } + if (doc.status == "Billed") { return [__("Billed"), "green", "status,=," + "Billed"]; } diff --git a/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py b/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py index 20c74ef5e80..2d6bb010866 100644 --- a/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py +++ b/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase from frappe.utils import add_days, add_months, nowdate diff --git a/erpnext/public/icons/desktop_icons/solid/share_management.svg b/erpnext/public/icons/desktop_icons/solid/share_management.svg new file mode 100644 index 00000000000..bea49a5c5f0 --- /dev/null +++ b/erpnext/public/icons/desktop_icons/solid/share_management.svg @@ -0,0 +1,4 @@ + + + + diff --git a/erpnext/public/icons/desktop_icons/subtle/share_management.svg b/erpnext/public/icons/desktop_icons/subtle/share_management.svg new file mode 100644 index 00000000000..c9bf99f0821 --- /dev/null +++ b/erpnext/public/icons/desktop_icons/subtle/share_management.svg @@ -0,0 +1,4 @@ + + + + diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index a77bd824f2f..54474305643 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -518,7 +518,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe barcode(doc, cdt, cdn) { let row = locals[cdt][cdn]; - if (row.barcode) { + if (row.barcode && !frappe.flags.trigger_from_barcode_scanner) { erpnext.stock.utils.set_item_details_using_barcode(this.frm, row, (r) => { frappe.model.set_value(cdt, cdn, { item_code: r.message.item_code, @@ -945,11 +945,10 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe // Replace all occurences of comma with line feed item.serial_no = item.serial_no.replace(/,/g, "\n"); item.conversion_factor = item.conversion_factor || 1; - refresh_field("serial_no", item.name, item.parentfield); if (!doc.is_return) { setTimeout(() => { me.update_qty(cdt, cdn); - }, 3000); + }, 300); } } } @@ -1530,8 +1529,8 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe } else if ( this.frm.doc.price_list_currency === this.frm.doc.currency && this.frm.doc.plc_conversion_rate && - cint(this.frm.doc.plc_conversion_rate) != 1 && - cint(this.frm.doc.plc_conversion_rate) != cint(this.frm.doc.conversion_rate) + flt(this.frm.doc.plc_conversion_rate) != 1 && + flt(this.frm.doc.plc_conversion_rate) != flt(this.frm.doc.conversion_rate) ) { this.frm.set_value("conversion_rate", this.frm.doc.plc_conversion_rate); } diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index ed25d70c1f8..116449a6fa8 100755 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -735,6 +735,7 @@ erpnext.utils.update_child_items = function (opts) { fieldname: "item_name", label: __("Item Name"), read_only: 1, + in_list_view: 1, }, { fieldtype: "Link", @@ -792,7 +793,7 @@ erpnext.utils.update_child_items = function (opts) { ]; if (frm.doc.doctype == "Sales Order" || frm.doc.doctype == "Purchase Order") { - fields.splice(2, 0, { + fields.splice(3, 0, { fieldtype: "Date", fieldname: frm.doc.doctype == "Sales Order" ? "delivery_date" : "schedule_date", in_list_view: 1, @@ -800,7 +801,7 @@ erpnext.utils.update_child_items = function (opts) { default: frm.doc.doctype == "Sales Order" ? frm.doc.delivery_date : frm.doc.schedule_date, reqd: 1, }); - fields.splice(3, 0, { + fields.splice(4, 0, { fieldtype: "Float", fieldname: "conversion_factor", label: __("Conversion Factor"), diff --git a/erpnext/public/js/utils/barcode_scanner.js b/erpnext/public/js/utils/barcode_scanner.js index 2e580f83c18..9ee1029f345 100644 --- a/erpnext/public/js/utils/barcode_scanner.js +++ b/erpnext/public/js/utils/barcode_scanner.js @@ -138,7 +138,6 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner { frappe.run_serially([ () => this.set_selector_trigger_flag(data), - () => this.set_barcode_uom(row, uom), () => this.set_serial_no(row, serial_no), () => this.set_batch_no(row, batch_no), () => this.set_barcode(row, barcode), @@ -148,6 +147,7 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner { this.show_scan_message(row.idx, !is_new_row, qty); }), () => this.clean_up(), + () => this.set_barcode_uom(row, uom), () => this.revert_selector_flag(), () => resolve(row), ]); diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js index d86296f1eea..a2e4dbf1da1 100644 --- a/erpnext/public/js/utils/party.js +++ b/erpnext/public/js/utils/party.js @@ -157,7 +157,7 @@ erpnext.utils.get_address_display = function (frm, address_field, display_field, args: { address_dict: frm.doc[address_field] }, callback: function (r) { if (r.message) { - frm.set_value(display_field, frappe.utils.html2text(r.message)); + frm.set_value(display_field, r.message); } }, }); diff --git a/erpnext/public/js/utils/serial_no_batch_selector.js b/erpnext/public/js/utils/serial_no_batch_selector.js index 5cc7238d6dd..2e02d36528b 100644 --- a/erpnext/public/js/utils/serial_no_batch_selector.js +++ b/erpnext/public/js/utils/serial_no_batch_selector.js @@ -163,7 +163,7 @@ erpnext.SerialBatchPackageSelector = class SerialNoBatchBundleUpdate { } if (this.item?.type_of_transaction === "Outward") { - fields = [...this.get_filter_fields(), ...fields]; + fields = [...this.get_filter_fields(), ...fields, ...this.get_attach_field()]; } else { fields = [...fields, ...this.get_attach_field()]; } @@ -195,7 +195,7 @@ erpnext.SerialBatchPackageSelector = class SerialNoBatchBundleUpdate { } let fields = []; - if (this.item.has_serial_no) { + if (this.item.has_serial_no && this.item?.type_of_transaction !== "Outward") { fields.push({ fieldtype: "Check", label: __("Enter Manually"), @@ -217,7 +217,8 @@ erpnext.SerialBatchPackageSelector = class SerialNoBatchBundleUpdate { label: __("Import Using CSV file"), fieldname: "import_using_csv_file", depends_on: "eval:doc.enter_manually !== 1", - default: !this.item.has_serial_no ? 1 : 0, + default: !this.item.has_serial_no || this.item?.type_of_transaction === "Outward" ? 1 : 0, + hidden: this.item?.type_of_transaction === "Outward", change() { if (me.dialog.get_value("import_using_csv_file")) { me.dialog.set_value("enter_manually", 0); @@ -246,7 +247,7 @@ erpnext.SerialBatchPackageSelector = class SerialNoBatchBundleUpdate { }, ]; - if (this.item?.has_serial_no) { + if (this.item?.has_serial_no && this.item?.type_of_transaction !== "Outward") { fields = [ ...fields, { @@ -267,7 +268,7 @@ erpnext.SerialBatchPackageSelector = class SerialNoBatchBundleUpdate { ]; } - if (this.item?.has_serial_no) { + if (this.item?.has_serial_no && this.item?.type_of_transaction !== "Outward") { fields = [ ...fields, { diff --git a/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py b/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py index 68b6536cc18..52565a039de 100644 --- a/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py +++ b/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_action/test_quality_action.py b/erpnext/quality_management/doctype/quality_action/test_quality_action.py index 1e1dfc376bc..15598e8871a 100644 --- a/erpnext/quality_management/doctype/quality_action/test_quality_action.py +++ b/erpnext/quality_management/doctype/quality_action/test_quality_action.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py b/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py index 35a326ad943..90f8b8e06ff 100644 --- a/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py +++ b/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py b/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py index 2064bbc5513..8582b830f04 100644 --- a/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py +++ b/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py b/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py index 57d0a94ed0a..11df9e1c87d 100644 --- a/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py +++ b/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py b/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py index e0ff7d77f24..2ac05e13404 100644 --- a/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py +++ b/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py b/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py index e83a3e394e1..32eb2680cc1 100644 --- a/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py +++ b/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/quality_management/doctype/quality_review/test_quality_review.py b/erpnext/quality_management/doctype/quality_review/test_quality_review.py index a3c78c5a416..b86b53506b2 100644 --- a/erpnext/quality_management/doctype/quality_review/test_quality_review.py +++ b/erpnext/quality_management/doctype/quality_review/test_quality_review.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py b/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py index 7d512dbfb55..331ddcf4186 100644 --- a/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py +++ b/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py b/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py index f6ceb56557b..03617adf667 100644 --- a/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py +++ b/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py b/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py index 9ed34764f70..2bcb10a7b08 100644 --- a/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py +++ b/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py index 8d21d08b798..71d90c9c980 100644 --- a/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py +++ b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/regional/report/vat_audit_report/vat_audit_report.py b/erpnext/regional/report/vat_audit_report/vat_audit_report.py index 78fdc62e29c..ef20b185b13 100644 --- a/erpnext/regional/report/vat_audit_report/vat_audit_report.py +++ b/erpnext/regional/report/vat_audit_report/vat_audit_report.py @@ -2,8 +2,6 @@ # For license information, please see license.txt -import json - import frappe from frappe import _ from frappe.utils import formatdate, get_link_to_form diff --git a/erpnext/regional/united_states/test_united_states.py b/erpnext/regional/united_states/test_united_states.py index d3e7dcda620..cb6902190ed 100644 --- a/erpnext/regional/united_states/test_united_states.py +++ b/erpnext/regional/united_states/test_united_states.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js index 5a5f5b27331..a2abaa5527d 100644 --- a/erpnext/selling/doctype/customer/customer.js +++ b/erpnext/selling/doctype/customer/customer.js @@ -212,9 +212,11 @@ frappe.ui.form.on("Customer", { frappe.contacts.clear_address_and_contact(frm); } - var grid = cur_frm.get_field("sales_team").grid; - grid.set_column_disp("allocated_amount", false); - grid.set_column_disp("incentives", false); + let grid = frm.get_field("sales_team")?.grid; + if (grid) { + grid.set_column_disp("allocated_amount", false); + grid.set_column_disp("incentives", false); + } frm.set_query("customer_group", () => { return { diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json index 7ddb8fc74cf..72798f32329 100644 --- a/erpnext/selling/doctype/customer/customer.json +++ b/erpnext/selling/doctype/customer/customer.json @@ -335,7 +335,7 @@ }, { "fieldname": "primary_address", - "fieldtype": "Text", + "fieldtype": "Text Editor", "label": "Primary Address", "read_only": 1 }, @@ -625,7 +625,7 @@ "link_fieldname": "party" } ], - "modified": "2025-11-25 09:35:56.772949", + "modified": "2026-01-16 15:56:05.967663", "modified_by": "Administrator", "module": "Selling", "name": "Customer", diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index 628173c2c7d..7003d491c32 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -83,7 +83,7 @@ class Customer(TransactionBase): opportunity_name: DF.Link | None payment_terms: DF.Link | None portal_users: DF.Table[PortalUser] - primary_address: DF.Text | None + primary_address: DF.TextEditor | None prospect_name: DF.Link | None represents_company: DF.Link | None sales_team: DF.Table[SalesTeam] diff --git a/erpnext/selling/doctype/industry_type/test_industry_type.py b/erpnext/selling/doctype/industry_type/test_industry_type.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/selling/doctype/industry_type/test_industry_type.py +++ b/erpnext/selling/doctype/industry_type/test_industry_type.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/selling/doctype/installation_note/test_installation_note.py b/erpnext/selling/doctype/installation_note/test_installation_note.py index c6d1786cdee..65b388175c9 100644 --- a/erpnext/selling/doctype/installation_note/test_installation_note.py +++ b/erpnext/selling/doctype/installation_note/test_installation_note.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index 480ca04b6a9..bb82310d9c5 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -36,6 +36,15 @@ frappe.ui.form.on("Quotation", { }; }); + frm.set_query("warehouse", "items", (doc, cdt, cdn) => { + return { + filters: { + company: doc.company, + is_group: 0, + }, + }; + }); + frm.set_indicator_formatter("item_code", function (doc) { return !doc.qty && frm.doc.has_unit_price_items ? "yellow" : ""; }); diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py index 043df28d909..364d1bee981 100644 --- a/erpnext/selling/doctype/quotation/test_quotation.py +++ b/erpnext/selling/doctype/quotation/test_quotation.py @@ -9,7 +9,6 @@ from frappe.utils import add_days, add_months, flt, getdate, nowdate from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate from erpnext.selling.doctype.quotation.quotation import make_sales_order -from erpnext.setup.utils import get_exchange_rate EXTRA_TEST_RECORD_DEPENDENCIES = ["Product Bundle"] diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index fb4f6f5e696..c228c45b175 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -1220,10 +1220,12 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex }, freeze: true, callback: function (r) { - if (!r.message) { + if (r.message.length === 0) { frappe.msgprint({ title: __("Work Order not created"), - message: __("No Items with Bill of Materials to Manufacture"), + message: __( + "No Items with Bill of Materials to Manufacture or all items already manufactured" + ), indicator: "orange", }); return; @@ -1233,19 +1235,24 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex label: __("Items"), fieldtype: "Table", fieldname: "items", + cannot_add_rows: true, description: __("Select BOM and Qty for Production"), fields: [ { - fieldtype: "Read Only", + fieldtype: "Link", fieldname: "item_code", + options: "Item", label: __("Item Code"), in_list_view: 1, + read_only: 1, }, { - fieldtype: "Read Only", + fieldtype: "Data", fieldname: "item_name", label: __("Item Name"), in_list_view: 1, + read_only: 1, + fetch_from: "item_code.item_name", }, { fieldtype: "Link", @@ -1271,6 +1278,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex reqd: 1, label: __("Sales Order Item"), hidden: 1, + read_only: 1, }, ], data: r.message, diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 81ab746fc0c..a43877f923a 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1981,6 +1981,10 @@ def get_work_order_items(sales_order, for_raw_material_request=0): ) ] + overproduction_percentage_for_sales_order = ( + frappe.get_single_value("Manufacturing Settings", "overproduction_percentage_for_sales_order") + / 100 + ) for table in [so.items, so.packed_items]: for i in table: bom = get_default_bom(i.item_code) @@ -1989,12 +1993,12 @@ def get_work_order_items(sales_order, for_raw_material_request=0): if not for_raw_material_request: total_work_order_qty = flt( qb.from_(wo) - .select(Sum(wo.qty)) + .select(Sum(wo.qty - wo.process_loss_qty)) .where( (wo.production_item == i.item_code) & (wo.sales_order == so.name) & (wo.sales_order_item == i.name) - & (wo.docstatus.lt(2)) + & (wo.docstatus == 1) & (wo.status != "Closed") ) .run()[0][0] @@ -2003,7 +2007,10 @@ def get_work_order_items(sales_order, for_raw_material_request=0): else: pending_qty = stock_qty - if pending_qty and i.item_code not in product_bundle_parents: + if not pending_qty: + pending_qty = stock_qty * overproduction_percentage_for_sales_order + + if pending_qty > 0 and i.item_code not in product_bundle_parents: items.append( dict( name=i.name, diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index dea7b3bff97..4d0d43915a7 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -8,7 +8,7 @@ import frappe import frappe.permissions from frappe.core.doctype.user_permission.test_user_permission import create_user from frappe.tests import IntegrationTestCase, change_settings -from frappe.utils import add_days, flt, getdate, nowdate, today +from frappe.utils import add_days, flt, nowdate, today from erpnext.accounts.test.accounts_mixin import AccountsTestMixin from erpnext.controllers.accounts_controller import InvalidQtyError, get_due_date, update_child_qty_rate diff --git a/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py b/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py index 8f35c48de0c..d545667bc47 100644 --- a/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py +++ b/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/selling/doctype/selling_settings/test_selling_settings.py b/erpnext/selling/doctype/selling_settings/test_selling_settings.py index 91a73d92ec3..615d4b085cb 100644 --- a/erpnext/selling/doctype/selling_settings/test_selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/test_selling_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/selling/page/point_of_sale/pos_controller.js b/erpnext/selling/page/point_of_sale/pos_controller.js index 41b89259eca..eefc932bcc1 100644 --- a/erpnext/selling/page/point_of_sale/pos_controller.js +++ b/erpnext/selling/page/point_of_sale/pos_controller.js @@ -651,6 +651,9 @@ erpnext.PointOfSale.Controller = class { async on_cart_update(args) { frappe.dom.freeze(); + if (this.frm.doc.set_warehouse !== this.settings.warehouse) { + this.frm.set_value("set_warehouse", this.settings.warehouse); + } let item_row = undefined; try { let { field, value, item } = args; diff --git a/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py index 63c34c271e0..36195643ad0 100644 --- a/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py +++ b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/branch/test_branch.py b/erpnext/setup/doctype/branch/test_branch.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/branch/test_branch.py +++ b/erpnext/setup/doctype/branch/test_branch.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/brand/brand.py b/erpnext/setup/doctype/brand/brand.py index ccb8b71e64f..512bcbad6f7 100644 --- a/erpnext/setup/doctype/brand/brand.py +++ b/erpnext/setup/doctype/brand/brand.py @@ -2,8 +2,6 @@ # License: GNU General Public License v3. See license.txt -import copy - import frappe from frappe.model.document import Document diff --git a/erpnext/setup/doctype/brand/test_brand.py b/erpnext/setup/doctype/brand/test_brand.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/brand/test_brand.py +++ b/erpnext/setup/doctype/brand/test_brand.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index def469e4fa3..f68ba664173 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -11,7 +11,14 @@ from frappe.cache_manager import clear_defaults_cache from frappe.contacts.address_and_contact import load_address_and_contact from frappe.custom.doctype.property_setter.property_setter import make_property_setter from frappe.desk.page.setup_wizard.setup_wizard import make_records -from frappe.utils import add_months, cint, formatdate, get_first_day, get_link_to_form, get_timestamp, today +from frappe.utils import ( + cint, + get_first_day, + get_last_day, + get_link_to_form, + get_timestamp, + today, +) from frappe.utils.nestedset import NestedSet, rebuild_tree from erpnext.accounts.doctype.account.account import get_account_currency @@ -866,31 +873,41 @@ def install_country_fixtures(company, country): def update_company_current_month_sales(company): - from_date = get_first_day(today()) - to_date = get_first_day(add_months(from_date, 1)) + """Update Company's Total Monthly Sales. - results = frappe.db.sql( - """ - SELECT - SUM(base_grand_total) AS total, - DATE_FORMAT(posting_date, '%%m-%%Y') AS month_year - FROM - `tabSales Invoice` - WHERE - posting_date >= %s - AND posting_date < %s - AND docstatus = 1 - AND company = %s - GROUP BY - month_year - """, - (from_date, to_date, company), - as_dict=True, + Postgres compatibility: + - Avoid MariaDB-only DATE_FORMAT(). + - Use a date range for the current month instead (portable + index-friendly). + """ + + # Local imports so you don't have to touch file-level imports + from frappe.query_builder.functions import Sum + + start_date = get_first_day(today()) + end_date = get_last_day(today()) + + si = frappe.qb.DocType("Sales Invoice") + + total_monthly_sales = ( + frappe.qb.from_(si) + .select(Sum(si.base_grand_total)) + .where( + (si.docstatus == 1) + & (si.company == company) + & (si.posting_date >= start_date) + & (si.posting_date <= end_date) + ) + ).run(pluck=True)[0] or 0 + + # Fieldname in standard ERPNext is `total_monthly_sales` + frappe.db.set_value( + "Company", + company, + "total_monthly_sales", + total_monthly_sales, + update_modified=False, ) - monthly_total = results[0]["total"] if len(results) > 0 else 0 - frappe.db.set_value("Company", company, "total_monthly_sales", monthly_total) - def update_company_monthly_sales(company): """Cache past year monthly sales of every company based on sales invoices""" diff --git a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py index c0fad18795e..7107e7a26ec 100644 --- a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py +++ b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest from unittest import mock import frappe diff --git a/erpnext/setup/doctype/customer_group/test_customer_group.py b/erpnext/setup/doctype/customer_group/test_customer_group.py index 79b9d9c0c52..4c6b653d003 100644 --- a/erpnext/setup/doctype/customer_group/test_customer_group.py +++ b/erpnext/setup/doctype/customer_group/test_customer_group.py @@ -2,4 +2,3 @@ # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/department/test_department.py b/erpnext/setup/doctype/department/test_department.py index b35985ca685..d52d40c411b 100644 --- a/erpnext/setup/doctype/department/test_department.py +++ b/erpnext/setup/doctype/department/test_department.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/driver/test_driver.py b/erpnext/setup/doctype/driver/test_driver.py index d75d7ab8977..2b3096000e0 100644 --- a/erpnext/setup/doctype/driver/test_driver.py +++ b/erpnext/setup/doctype/driver/test_driver.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py index 3777e330e75..7f087768fe7 100644 --- a/erpnext/setup/doctype/email_digest/email_digest.py +++ b/erpnext/setup/doctype/email_digest/email_digest.py @@ -162,8 +162,6 @@ class EmailDigest(Document): context.purchase_order_list, context.purchase_orders_items_overdue_list, ) = self.get_purchase_orders_items_overdue_list() - if not context.purchase_order_list: - frappe.throw(_("No items to be received are overdue")) if not context: return None diff --git a/erpnext/setup/doctype/email_digest/test_email_digest.py b/erpnext/setup/doctype/email_digest/test_email_digest.py index 13a97ea86ea..e547ca9f973 100644 --- a/erpnext/setup/doctype/email_digest/test_email_digest.py +++ b/erpnext/setup/doctype/email_digest/test_email_digest.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/employee/employee.py b/erpnext/setup/doctype/employee/employee.py index 13b80b25251..890ae70ad9f 100755 --- a/erpnext/setup/doctype/employee/employee.py +++ b/erpnext/setup/doctype/employee/employee.py @@ -6,7 +6,6 @@ from frappe.model.naming import set_name_by_naming_series from frappe.permissions import ( add_user_permission, get_doc_permissions, - has_permission, remove_user_permission, ) from frappe.utils import cstr, getdate, today, validate_email_address diff --git a/erpnext/setup/doctype/employee/test_employee.py b/erpnext/setup/doctype/employee/test_employee.py index 73de3bf2e5d..6202a8ca907 100644 --- a/erpnext/setup/doctype/employee/test_employee.py +++ b/erpnext/setup/doctype/employee/test_employee.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe import frappe.utils diff --git a/erpnext/setup/doctype/employee_group/test_employee_group.py b/erpnext/setup/doctype/employee_group/test_employee_group.py index 9003d72bbe4..6be0b479a24 100644 --- a/erpnext/setup/doctype/employee_group/test_employee_group.py +++ b/erpnext/setup/doctype/employee_group/test_employee_group.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/global_defaults/test_global_defaults.py b/erpnext/setup/doctype/global_defaults/test_global_defaults.py index 3a301ba4232..45cdf228503 100644 --- a/erpnext/setup/doctype/global_defaults/test_global_defaults.py +++ b/erpnext/setup/doctype/global_defaults/test_global_defaults.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/holiday_list/test_holiday_list.py b/erpnext/setup/doctype/holiday_list/test_holiday_list.py index c5dbf0258df..19bf9e76877 100644 --- a/erpnext/setup/doctype/holiday_list/test_holiday_list.py +++ b/erpnext/setup/doctype/holiday_list/test_holiday_list.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest from contextlib import contextmanager from datetime import date, timedelta diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py index d064fab2fea..3b57a5852cc 100644 --- a/erpnext/setup/doctype/item_group/item_group.py +++ b/erpnext/setup/doctype/item_group/item_group.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import copy import frappe from frappe import _ diff --git a/erpnext/setup/doctype/item_group/test_item_group.py b/erpnext/setup/doctype/item_group/test_item_group.py index b6b9c9cdad6..41209830110 100644 --- a/erpnext/setup/doctype/item_group/test_item_group.py +++ b/erpnext/setup/doctype/item_group/test_item_group.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/party_type/test_party_type.py b/erpnext/setup/doctype/party_type/test_party_type.py index de199d5004c..9b0d0ed8707 100644 --- a/erpnext/setup/doctype/party_type/test_party_type.py +++ b/erpnext/setup/doctype/party_type/test_party_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py +++ b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/sales_partner/test_sales_partner.py b/erpnext/setup/doctype/sales_partner/test_sales_partner.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/sales_partner/test_sales_partner.py +++ b/erpnext/setup/doctype/sales_partner/test_sales_partner.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/supplier_group/test_supplier_group.py b/erpnext/setup/doctype/supplier_group/test_supplier_group.py index 811e5ddd1ac..cf5cce2c342 100644 --- a/erpnext/setup/doctype/supplier_group/test_supplier_group.py +++ b/erpnext/setup/doctype/supplier_group/test_supplier_group.py @@ -1,4 +1,3 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import frappe diff --git a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py +++ b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/territory/test_territory.py b/erpnext/setup/doctype/territory/test_territory.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/territory/test_territory.py +++ b/erpnext/setup/doctype/territory/test_territory.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/uom/test_uom.py b/erpnext/setup/doctype/uom/test_uom.py index 2c0da779cab..80f770380e7 100644 --- a/erpnext/setup/doctype/uom/test_uom.py +++ b/erpnext/setup/doctype/uom/test_uom.py @@ -1,4 +1,3 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/setup/doctype/uom/uom.js b/erpnext/setup/doctype/uom/uom.js index 273e30fd197..eb61f63f034 100644 --- a/erpnext/setup/doctype/uom/uom.js +++ b/erpnext/setup/doctype/uom/uom.js @@ -1,7 +1,2 @@ // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt - -//--------- ONLOAD ------------- -cur_frm.cscript.onload = function (doc, cdt, cdn) {}; - -cur_frm.cscript.refresh = function (doc, cdt, cdn) {}; diff --git a/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py b/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py index dd9346dd8ac..e7f7488ce49 100644 --- a/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py +++ b/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/doctype/vehicle/test_vehicle.py b/erpnext/setup/doctype/vehicle/test_vehicle.py index d5d464f67ed..f9a8c3cd594 100644 --- a/erpnext/setup/doctype/vehicle/test_vehicle.py +++ b/erpnext/setup/doctype/vehicle/test_vehicle.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/setup/utils.py b/erpnext/setup/utils.py index 3cdd7833908..01e6da1bbde 100644 --- a/erpnext/setup/utils.py +++ b/erpnext/setup/utils.py @@ -4,7 +4,7 @@ import frappe from frappe import _ from frappe.utils import add_days, flt, get_datetime_str, nowdate -from frappe.utils.data import getdate, now_datetime +from frappe.utils.data import now_datetime from frappe.utils.nestedset import get_root_of from erpnext import get_default_company diff --git a/erpnext/stock/dashboard_chart_source/stock_value_by_item_group/stock_value_by_item_group.py b/erpnext/stock/dashboard_chart_source/stock_value_by_item_group/stock_value_by_item_group.py index 68f64619e7b..af760516ffd 100644 --- a/erpnext/stock/dashboard_chart_source/stock_value_by_item_group/stock_value_by_item_group.py +++ b/erpnext/stock/dashboard_chart_source/stock_value_by_item_group/stock_value_by_item_group.py @@ -4,7 +4,7 @@ import frappe from frappe import _ -from frappe.query_builder.functions import Abs, Count, Date, Sum +from frappe.query_builder.functions import Sum from frappe.utils.dashboard import cache_source @@ -53,12 +53,14 @@ def get_stock_value_by_item_group(company): .inner_join(item_doctype) .on(doctype.item_code == item_doctype.name) .select(item_doctype.item_group, stock_value.as_("stock_value")) - .where(doctype.warehouse.isin(warehouses)) .groupby(item_doctype.item_group) .orderby(stock_value, order=frappe.qb.desc) .limit(10) ) + if warehouses: + query = query.where(doctype.warehouse.isin(warehouses)) + results = query.run(as_dict=True) labels = [] diff --git a/erpnext/stock/deprecated_serial_batch.py b/erpnext/stock/deprecated_serial_batch.py index 0fb3f048983..63ff38649ab 100644 --- a/erpnext/stock/deprecated_serial_batch.py +++ b/erpnext/stock/deprecated_serial_batch.py @@ -4,7 +4,7 @@ from collections import defaultdict import frappe from frappe.query_builder.functions import Sum -from frappe.utils import flt, nowtime +from frappe.utils import flt from pypika import Order from pypika.functions import Coalesce @@ -106,8 +106,6 @@ class DeprecatedBatchNoValuation: "No known instructions.", ) def get_sle_for_batches(self): - from erpnext.stock.utils import get_combine_datetime - if not self.batchwise_valuation_batches: return [] diff --git a/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py b/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py index 9496e3ed5a0..ef5ace6e938 100644 --- a/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py +++ b/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py index d85a76f9f75..adb75eea023 100644 --- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py @@ -1811,7 +1811,6 @@ class TestDeliveryNote(IntegrationTestCase): self.assertEqual(row.serial_no, serial_no) def test_delivery_note_legacy_serial_no_valuation(self): - from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos frappe.flags.ignore_serial_batch_bundle_validation = True diff --git a/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py b/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py index 2ecbb9e8861..f1ab074dbd6 100644 --- a/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py +++ b/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py index fd9f12ddd46..e67026a7126 100644 --- a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py +++ b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py @@ -12,7 +12,6 @@ from erpnext.stock.doctype.inventory_dimension.inventory_dimension import ( CanNotBeDefaultDimension, DoNotChangeError, delete_dimension, - get_inventory_dimensions, ) from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index 56cdb427acd..6f13428c22b 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -116,6 +116,11 @@ frappe.ui.form.on("Item", { }, __("View") ); + + frm.toggle_display( + ["opening_stock"], + frappe.model.can_create("Stock Entry") && frappe.model.can_write("Stock Entry") + ); } if (frm.doc.is_fixed_asset) { @@ -239,6 +244,8 @@ frappe.ui.form.on("Item", { }, }; }); + + frm.toggle_display(["standard_rate"], frappe.model.can_create("Item Price")); }, validate: function (frm) { @@ -1063,7 +1070,7 @@ frappe.tour["Item"] = [ fieldname: "valuation_rate", title: "Valuation Rate", description: __( - "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." + "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." ), }, { diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 5c92fecbfdf..50859716ffc 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -1,8 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import copy -import json import frappe from frappe import _, bold @@ -20,7 +18,6 @@ from frappe.utils import ( now_datetime, nowtime, strip, - strip_html, ) from frappe.utils.html_utils import clean_html from pypika import Order @@ -183,7 +180,23 @@ class Item(Document): self.add_price(default.default_price_list) if self.opening_stock: - self.set_opening_stock() + if self.opening_stock > 10000 and self.has_serial_no: + frappe.enqueue( + self.set_opening_stock, + queue="long", + timeout=600, + job_name=f"set_opening_stock_for_{self.name}", + ) + frappe.msgprint( + _( + "Opening stock creation has been queued and will be created in the background. Please check the stock entry after some time." + ), + indicator="orange", + alert=True, + ) + + else: + self.set_opening_stock() def validate(self): if not self.item_name: @@ -264,7 +277,11 @@ class Item(Document): def set_opening_stock(self): """set opening stock""" - if not self.is_stock_item or self.has_serial_no or self.has_batch_no: + if ( + not self.is_stock_item + or (self.has_serial_no and not self.serial_no_series) + or (self.has_batch_no and (not self.create_new_batch or not self.batch_number_series)) + ): return if not self.valuation_rate and not self.standard_rate and not self.is_customer_provided_item: diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py index 7814efb1c0b..b259f6592c1 100644 --- a/erpnext/stock/doctype/item/test_item.py +++ b/erpnext/stock/doctype/item/test_item.py @@ -957,6 +957,43 @@ class TestItem(IntegrationTestCase): msg="Different Variant UOM should not be allowed when `allow_different_uom` is disabled.", ) + def test_opening_stock_for_serial_batch(self): + items = { + "Test Opening Stock for Serial No": { + "has_serial_no": 1, + "opening_stock": 5, + "serial_no_series": "SN-TOPN-.####", + "valuation_rate": 100, + }, + "Test Opening Stock for Batch No": { + "has_batch_no": 1, + "opening_stock": 5, + "batch_number_series": "BCH-TOPN-.####", + "valuation_rate": 100, + "create_new_batch": 1, + }, + "Test Opening Stock for Serial and Batch No": { + "has_serial_no": 1, + "has_batch_no": 1, + "opening_stock": 5, + "batch_number_series": "SN-BCH-TOPN-.####", + "serial_no_series": "BCH-SN-TOPN-.####", + "valuation_rate": 100, + "create_new_batch": 1, + }, + } + + for item_code, properties in items.items(): + make_item(item_code, properties) + + serial_and_batch_bundle = frappe.db.get_value( + "Stock Entry Detail", {"docstatus": 1, "item_code": item_code}, "serial_and_batch_bundle" + ) + self.assertTrue(serial_and_batch_bundle) + + sabb_qty = frappe.db.get_value("Serial and Batch Bundle", serial_and_batch_bundle, "total_qty") + self.assertEqual(sabb_qty, properties["opening_stock"]) + def set_item_variant_settings(fields): doc = frappe.get_doc("Item Variant Settings") diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.py b/erpnext/stock/doctype/item_attribute/item_attribute.py index 7c60daac87d..2878a19de48 100644 --- a/erpnext/stock/doctype/item_attribute/item_attribute.py +++ b/erpnext/stock/doctype/item_attribute/item_attribute.py @@ -8,7 +8,6 @@ from frappe.model.document import Document from frappe.utils import flt from erpnext.controllers.item_variant import ( - InvalidItemAttributeValueError, validate_is_incremental, validate_item_attribute_value, ) diff --git a/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py b/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py index bf82f3611ed..af2a900eb61 100644 --- a/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py +++ b/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py index b526eadd8e8..7eb2ca064b6 100644 --- a/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py +++ b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py index ca4cdf5d458..a43223552b5 100644 --- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py @@ -3,7 +3,7 @@ import frappe -from frappe import _, bold +from frappe import _ from frappe.model.document import Document from frappe.model.meta import get_field_precision from frappe.query_builder.custom import ConstantColumn @@ -437,7 +437,7 @@ def get_vendor_invoices(doctype, txt, searchfield, start, page_len, filters): query = get_vendor_invoice_query(filters) if txt: - query = query.where(doctype.name.like(f"%{txt}%")) + query = query.where(frappe.qb.DocType(doctype).name.like(f"%{txt}%")) if start: query = query.limit(page_len).offset(start) diff --git a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py index 586e95f3ab2..e55b67e34eb 100644 --- a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py +++ b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py @@ -949,7 +949,6 @@ class TestLandedCostVoucher(IntegrationTestCase): def test_do_not_validate_against_landed_cost_voucher_for_serial_for_legacy_pr(self): from erpnext.stock.doctype.item.test_item import make_item - from erpnext.stock.doctype.serial_and_batch_bundle.serial_and_batch_bundle import get_auto_batch_nos frappe.flags.ignore_serial_batch_bundle_validation = True frappe.flags.use_serial_and_batch_fields = True diff --git a/erpnext/stock/doctype/manufacturer/test_manufacturer.py b/erpnext/stock/doctype/manufacturer/test_manufacturer.py index 1469901e26a..2bcf3a9c104 100644 --- a/erpnext/stock/doctype/manufacturer/test_manufacturer.py +++ b/erpnext/stock/doctype/manufacturer/test_manufacturer.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index 93f27d1c382..24a30581188 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -1138,7 +1138,8 @@ def make_material_request(**args): mr = frappe.new_doc("Material Request") mr.material_request_type = args.material_request_type or "Purchase" mr.company = args.company or "_Test Company" - mr.customer = args.customer or "_Test Customer" + if mr.material_request_type == "Customer Provided": + mr.customer = args.customer or "_Test Customer" mr.append( "items", { @@ -1147,6 +1148,7 @@ def make_material_request(**args): "uom": args.uom or "_Test UOM", "conversion_factor": args.conversion_factor or 1, "schedule_date": args.schedule_date or today(), + "from_warehouse": args.from_warehouse, "warehouse": args.warehouse or "_Test Warehouse - _TC", "cost_center": args.cost_center or "_Test Cost Center - _TC", }, diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py index d9b1d29e5aa..dbed036b1d1 100644 --- a/erpnext/stock/doctype/pick_list/pick_list.py +++ b/erpnext/stock/doctype/pick_list/pick_list.py @@ -11,7 +11,7 @@ from frappe.model.mapper import map_child_doc from frappe.query_builder import Case from frappe.query_builder.custom import GROUP_CONCAT from frappe.query_builder.functions import Coalesce, Locate, Replace, Sum -from frappe.utils import ceil, cint, floor, flt, get_link_to_form +from frappe.utils import cint, floor, flt, get_link_to_form from frappe.utils.nestedset import get_descendants_of from erpnext.selling.doctype.sales_order.sales_order import ( diff --git a/erpnext/stock/doctype/price_list/test_price_list.py b/erpnext/stock/doctype/price_list/test_price_list.py index 79b9d9c0c52..4c6b653d003 100644 --- a/erpnext/stock/doctype/price_list/test_price_list.py +++ b/erpnext/stock/doctype/price_list/test_price_list.py @@ -2,4 +2,3 @@ # License: GNU General Public License v3. See license.txt -import frappe diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js index b5c1c38729f..81c1b147697 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js @@ -266,7 +266,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend ); } cur_frm.add_custom_button( - __("Retention Stock Entry"), + __("Sample Retention Stock Entry"), this.make_retention_stock_entry, __("Create") ); diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py index 6ee22025565..4a1b61c76eb 100644 --- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -3447,7 +3447,6 @@ class TestPurchaseReceipt(IntegrationTestCase): self.assertEqual(pr.status, "Completed") def test_internal_transfer_for_batch_items_with_cancel(self): - from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note @@ -3563,7 +3562,6 @@ class TestPurchaseReceipt(IntegrationTestCase): frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 1) def test_internal_transfer_for_batch_items_with_cancel_use_serial_batch_fields(self): - from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note @@ -4147,7 +4145,6 @@ class TestPurchaseReceipt(IntegrationTestCase): make_purchase_receipt as _make_purchase_receipt, ) from erpnext.buying.doctype.purchase_order.test_purchase_order import ( - create_pr_against_po, create_purchase_order, ) @@ -4849,6 +4846,154 @@ class TestPurchaseReceipt(IntegrationTestCase): self.assertEqual(return_entry.items[0].qty, -2) self.assertEqual(return_entry.items[0].rejected_qty, 0) # 3-3=0 + def test_do_not_use_batchwise_valuation_with_fifo(self): + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + + item_code = make_item( + "Test Item Do Not Use Batchwise Valuation with FIFO", + { + "is_stock_item": 1, + "has_batch_no": 1, + "batch_number_series": "BN-TESTDNUBVWF-.#####", + "valuation_method": "FIFO", + }, + ).name + + doc = frappe.new_doc("Batch") + doc.update( + { + "batch_id": "BN-TESTDNUBVWF-00001", + "item": item_code, + } + ).insert() + + doc.db_set("use_batchwise_valuation", 0) + doc.reload() + + self.assertTrue(doc.use_batchwise_valuation == 0) + + doc = frappe.new_doc("Batch") + doc.update( + { + "batch_id": "BN-TESTDNUBVWF-00002", + "item": item_code, + } + ).insert() + + self.assertTrue(doc.use_batchwise_valuation == 1) + + warehouse = "_Test Warehouse - _TC" + make_stock_entry( + item_code=item_code, + qty=10, + rate=100, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + se1 = make_stock_entry( + item_code=item_code, + qty=10, + rate=200, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se1.name, + }, + "stock_queue", + ) + + stock_queue = frappe.parse_json(stock_queue) + + self.assertEqual(stock_queue, [[10, 100.0], [10, 200.0]]) + + se2 = make_stock_entry( + item_code=item_code, + qty=10, + rate=2, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00002", + use_serial_batch_fields=1, + ) + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se2.name, + }, + "stock_queue", + ) + + stock_queue = frappe.parse_json(stock_queue) + self.assertEqual(stock_queue, [[10, 100.0], [10, 200.0]]) + + se3 = make_stock_entry( + item_code=item_code, + qty=20, + source=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + ste_details = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se3.name, + }, + ["stock_queue", "stock_value_difference"], + as_dict=1, + ) + + stock_queue = frappe.parse_json(ste_details.stock_queue) + self.assertEqual(stock_queue, []) + self.assertEqual(ste_details.stock_value_difference, 3000 * -1) + + se4 = make_stock_entry( + item_code=item_code, + qty=20, + rate=0, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + do_not_submit=1, + ) + + se4.items[0].basic_rate = 0.0 + se4.items[0].allow_zero_valuation_rate = 1 + se4.submit() + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se4.name, + }, + "stock_queue", + ) + + self.assertEqual(frappe.parse_json(stock_queue), [[20, 0.0]]) + def prepare_data_for_internal_transfer(): from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier diff --git a/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py b/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py index 8b85e5681c7..5bcbaa5943a 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py +++ b/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py b/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py index d3c158676a5..37f43d2523e 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py +++ b/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py @@ -1,7 +1,6 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py b/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py index 9094ac1d8a0..67bb6be0357 100644 --- a/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py +++ b/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase 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 8b50e1666ef..d6065dc0c3b 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 @@ -12,7 +12,7 @@ import frappe.query_builder.functions from frappe import _, _dict, bold from frappe.model.document import Document from frappe.model.naming import make_autoname -from frappe.query_builder.functions import Sum +from frappe.query_builder.functions import Concat_ws, Locate, Sum from frappe.utils import ( cint, cstr, @@ -20,7 +20,6 @@ from frappe.utils import ( get_link_to_form, getdate, now, - nowtime, parse_json, today, ) @@ -712,17 +711,16 @@ class SerialandBatchBundle(Document): is_packed_item = True stock_queue = [] - batches = [] - if prev_sle and prev_sle.stock_queue: - batches = frappe.get_all( - "Batch", - filters={ - "name": ("in", [d.batch_no for d in self.entries if d.batch_no]), - "use_batchwise_valuation": 0, - }, - pluck="name", - ) + batches = frappe.get_all( + "Batch", + filters={ + "name": ("in", [d.batch_no for d in self.entries if d.batch_no]), + "use_batchwise_valuation": 0, + }, + pluck="name", + ) + if prev_sle and prev_sle.stock_queue and parse_json(prev_sle.stock_queue): if batches and valuation_method == "FIFO": stock_queue = parse_json(prev_sle.stock_queue) @@ -749,7 +747,7 @@ class SerialandBatchBundle(Document): if d.qty: d.stock_value_difference = flt(d.qty) * d.incoming_rate - if stock_queue and valuation_method == "FIFO" and d.batch_no in batches: + if valuation_method == "FIFO" and d.batch_no in batches and d.incoming_rate is not None: stock_queue.append([d.qty, d.incoming_rate]) d.stock_queue = json.dumps(stock_queue) @@ -2986,7 +2984,15 @@ def get_ledgers_from_serial_batch_bundle(**kwargs) -> list[frappe._dict]: def get_stock_ledgers_for_serial_nos(kwargs): + """ + Fetch stock ledger entries based on various filters. + :param kwargs: Filters including posting_datetime, creation, warehouse, item_code, serial_nos, ignore_voucher_detail_no, voucher_no. Joins with Serial and Batch Entry table to filter based on serial numbers. + :return: List of stock ledger entries as dictionaries. + :rtype: list[dict] + """ + stock_ledger_entry = frappe.qb.DocType("Stock Ledger Entry") + serial_batch_entry = frappe.qb.DocType("Serial and Batch Entry") query = ( frappe.qb.from_(stock_ledger_entry) @@ -3013,7 +3019,7 @@ def get_stock_ledgers_for_serial_nos(kwargs): query = query.where(timestamp_condition) - for field in ["warehouse", "item_code", "serial_no"]: + for field in ["warehouse", "item_code"]: if not kwargs.get(field): continue @@ -3022,6 +3028,27 @@ def get_stock_ledgers_for_serial_nos(kwargs): else: query = query.where(stock_ledger_entry[field] == kwargs.get(field)) + serial_nos = kwargs.get("serial_nos") or kwargs.get("serial_no") + if serial_nos and not isinstance(serial_nos, list): + serial_nos = [serial_nos] + + if serial_nos: + query = ( + query.left_join(serial_batch_entry) + .on(stock_ledger_entry.serial_and_batch_bundle == serial_batch_entry.parent) + .distinct() + ) + + bundle_match = serial_batch_entry.serial_no.isin(serial_nos) + + padded_serial_no = Concat_ws("", "\n", stock_ledger_entry.serial_no, "\n") + direct_match = None + for sn in serial_nos: + cond = Locate(f"\n{sn}\n", padded_serial_no) > 0 + direct_match = cond if direct_match is None else (direct_match | cond) + + query = query.where(bundle_match | direct_match) + if kwargs.ignore_voucher_detail_no: query = query.where(stock_ledger_entry.voucher_detail_no != kwargs.ignore_voucher_detail_no) diff --git a/erpnext/stock/doctype/shipment/shipment.json b/erpnext/stock/doctype/shipment/shipment.json index d7f0877a298..a5e0a2377cf 100644 --- a/erpnext/stock/doctype/shipment/shipment.json +++ b/erpnext/stock/doctype/shipment/shipment.json @@ -115,7 +115,7 @@ }, { "fieldname": "pickup_address", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -135,7 +135,7 @@ }, { "fieldname": "pickup_contact", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -193,7 +193,7 @@ }, { "fieldname": "delivery_address", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -214,7 +214,7 @@ { "depends_on": "eval:doc.delivery_contact_name", "fieldname": "delivery_contact", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -441,11 +441,11 @@ ], "is_submittable": 1, "links": [], - "modified": "2026-01-07 19:24:23.566312", + "modified": "2026-01-16 14:59:28.547953", "modified_by": "Administrator", "module": "Stock", "name": "Shipment", - "naming_rule": "Expression (old style)", + "naming_rule": "Expression", "owner": "Administrator", "permissions": [ { @@ -477,8 +477,9 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/stock/doctype/shipment/shipment.py b/erpnext/stock/doctype/shipment/shipment.py index a2d6dee50dc..ae5a4214d24 100644 --- a/erpnext/stock/doctype/shipment/shipment.py +++ b/erpnext/stock/doctype/shipment/shipment.py @@ -27,10 +27,10 @@ class Shipment(Document): awb_number: DF.Data | None carrier: DF.Data | None carrier_service: DF.Data | None - delivery_address: DF.SmallText | None + delivery_address: DF.TextEditor | None delivery_address_name: DF.Link delivery_company: DF.Link | None - delivery_contact: DF.SmallText | None + delivery_contact: DF.TextEditor | None delivery_contact_email: DF.Data | None delivery_contact_name: DF.Link | None delivery_customer: DF.Link | None @@ -42,10 +42,10 @@ class Shipment(Document): pallets: DF.Literal["No", "Yes"] parcel_template: DF.Link | None pickup: DF.Data | None - pickup_address: DF.SmallText | None + pickup_address: DF.TextEditor | None pickup_address_name: DF.Link pickup_company: DF.Link | None - pickup_contact: DF.SmallText | None + pickup_contact: DF.TextEditor | None pickup_contact_email: DF.Data | None pickup_contact_name: DF.Link | None pickup_contact_person: DF.Link | None diff --git a/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py index 81f8f4393bc..eb50f53604e 100644 --- a/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py +++ b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase 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..eff86d41c55 100644 --- a/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py +++ b/erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py @@ -5,7 +5,6 @@ import json import frappe from frappe import _ -from frappe.core.doctype.prepared_report.prepared_report import create_json_gz_file 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 diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index d106d097256..6155d2e5f77 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -440,12 +440,16 @@ frappe.ui.form.on("Stock Entry", { if ( frm.doc.docstatus == 1 && - frm.doc.purpose == "Material Receipt" && + ["Material Receipt", "Manufacture"].includes(frm.doc.purpose) && frm.get_sum("items", "sample_quantity") ) { - frm.add_custom_button(__("Create Sample Retention Stock Entry"), function () { - frm.trigger("make_retention_stock_entry"); - }); + frm.add_custom_button( + __("Sample Retention Stock Entry"), + function () { + frm.trigger("make_retention_stock_entry"); + }, + __("Create") + ); } frm.trigger("setup_quality_inspection"); @@ -568,10 +572,6 @@ frappe.ui.form.on("Stock Entry", { if (r.message) { var doc = frappe.model.sync(r.message)[0]; frappe.set_route("Form", doc.doctype, doc.name); - } else { - frappe.msgprint( - __("Retention Stock Entry already created or Sample Quantity not provided") - ); } }, }); @@ -885,12 +885,11 @@ frappe.ui.form.on("Stock Entry", { frm.doc.items.forEach((item) => { if (item.is_finished_item) { - fg_completed_qty += flt(item.transfer_qty); + fg_completed_qty += flt(item.transfer_qty + frm.doc.process_loss_qty); } }); - frm.doc.fg_completed_qty = fg_completed_qty; - frm.refresh_field("fg_completed_qty"); + frm.set_value("fg_completed_qty", fg_completed_qty); }, }); @@ -1054,7 +1053,7 @@ frappe.ui.form.on("Stock Entry Detail", { var validate_sample_quantity = function (frm, cdt, cdn) { var d = locals[cdt][cdn]; - if (d.sample_quantity && frm.doc.purpose == "Material Receipt") { + if (d.sample_quantity && d.transfer_qty && frm.doc.purpose == "Material Receipt") { frappe.call({ method: "erpnext.stock.doctype.stock_entry.stock_entry.validate_sample_quantity", args: { diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 215ad6d2ee9..31a4081fc9d 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -278,9 +278,30 @@ class StockEntry(StockController, SubcontractingInwardController): self.validate_closed_subcontracting_order() self.validate_subcontract_order() + self.validate_raw_materials_exists() super().validate_subcontracting_inward() + def validate_raw_materials_exists(self): + if self.purpose not in ["Manufacture", "Repack", "Disassemble"]: + return + + if frappe.db.get_single_value("Manufacturing Settings", "material_consumption"): + return + + raw_materials = [] + for row in self.items: + if row.s_warehouse: + raw_materials.append(row.item_code) + + if not raw_materials: + frappe.throw( + _( + "At least one raw material item must be present in the stock entry for the type {0}" + ).format(bold(self.purpose)), + title=_("Raw Materials Missing"), + ) + def set_serial_batch_for_disassembly(self): if self.purpose != "Disassemble": return @@ -724,7 +745,7 @@ class StockEntry(StockController, SubcontractingInwardController): "Subcontracting Return", ] - validate_for_manufacture = any([d.bom_no for d in self.get("items")]) + has_bom = any([d.bom_no for d in self.get("items")]) if self.purpose in source_mandatory and self.purpose not in target_mandatory: self.to_warehouse = None @@ -753,7 +774,7 @@ class StockEntry(StockController, SubcontractingInwardController): frappe.throw(_("Target warehouse is mandatory for row {0}").format(d.idx)) if self.purpose == "Manufacture": - if validate_for_manufacture: + if has_bom: if d.is_finished_item or d.is_scrap_item: d.s_warehouse = None if not d.t_warehouse: @@ -763,6 +784,17 @@ class StockEntry(StockController, SubcontractingInwardController): if not d.s_warehouse: frappe.throw(_("Source warehouse is mandatory for row {0}").format(d.idx)) + if self.purpose == "Disassemble": + if has_bom: + if d.is_finished_item: + d.t_warehouse = None + if not d.s_warehouse: + frappe.throw(_("Source warehouse is mandatory for row {0}").format(d.idx)) + else: + d.s_warehouse = None + if not d.t_warehouse: + frappe.throw(_("Target warehouse is mandatory for row {0}").format(d.idx)) + if cstr(d.s_warehouse) == cstr(d.t_warehouse) and self.purpose not in [ "Material Transfer for Manufacture", "Material Transfer", @@ -2162,9 +2194,12 @@ class StockEntry(StockController, SubcontractingInwardController): def get_items_for_disassembly(self): """Get items for Disassembly Order""" - if not self.work_order: - frappe.throw(_("The Work Order is mandatory for Disassembly Order")) + if self.work_order: + return self._add_items_for_disassembly_from_work_order() + return self._add_items_for_disassembly_from_bom() + + def _add_items_for_disassembly_from_work_order(self): items = self.get_items_from_manufacture_entry() s_warehouse = frappe.db.get_value("Work Order", self.work_order, "fg_warehouse") @@ -2196,6 +2231,23 @@ class StockEntry(StockController, SubcontractingInwardController): child_row.t_warehouse = row.s_warehouse child_row.is_finished_item = 0 if row.is_finished_item else 1 + def _add_items_for_disassembly_from_bom(self): + if not self.bom_no or not self.fg_completed_qty: + frappe.throw(_("BOM and Finished Good Quantity is mandatory for Disassembly")) + + # Raw Materials + item_dict = self.get_bom_raw_materials(self.fg_completed_qty) + + for item_row in item_dict.values(): + item_row["to_warehouse"] = self.to_warehouse + item_row["from_warehouse"] = "" + item_row["is_finished_item"] = 0 + + self.add_to_stock_entry_detail(item_dict) + + # Finished goods + self.load_items_from_bom() + def get_items_from_manufacture_entry(self): return frappe.get_all( "Stock Entry", @@ -2560,6 +2612,7 @@ class StockEntry(StockController, SubcontractingInwardController): expense_account = item.get("expense_account") if not expense_account: expense_account = frappe.get_cached_value("Company", self.company, "stock_adjustment_account") + args = { "to_warehouse": to_warehouse, "from_warehouse": "", @@ -2570,8 +2623,18 @@ class StockEntry(StockController, SubcontractingInwardController): "expense_account": expense_account, "cost_center": item.get("buying_cost_center"), "is_finished_item": 1, + "sample_quantity": item.get("sample_quantity"), } + if self.purpose == "Disassemble": + args.update( + { + "from_warehouse": self.from_warehouse, + "to_warehouse": "", + "qty": flt(self.fg_completed_qty), + } + ) + if ( self.work_order and self.pro_doc.has_batch_no @@ -3103,6 +3166,7 @@ class StockEntry(StockController, SubcontractingInwardController): se_child.po_detail = item_row.get("po_detail") se_child.sco_rm_detail = item_row.get("sco_rm_detail") se_child.scio_detail = item_row.get("scio_detail") + se_child.sample_quantity = item_row.get("sample_quantity", 0) for field in [ self.subcontract_data.rm_detail_field, @@ -3238,7 +3302,7 @@ class StockEntry(StockController, SubcontractingInwardController): stock_entries_child_list.append(d.ste_detail) transferred_qty = frappe.get_all( "Stock Entry Detail", - fields=[{"SUM": "qty", "as": "qty"}], + fields=[{"SUM": "transfer_qty", "as": "qty"}], filters={ "against_stock_entry": d.against_stock_entry, "ste_detail": d.ste_detail, @@ -3408,13 +3472,14 @@ class StockEntry(StockController, SubcontractingInwardController): @frappe.whitelist() def move_sample_to_retention_warehouse(company, items): - from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( - get_batch_from_bundle, + from erpnext.stock.serial_batch_bundle import ( + SerialBatchCreation, + get_batch_nos, ) - from erpnext.stock.serial_batch_bundle import SerialBatchCreation if isinstance(items, str): items = json.loads(items) + retention_warehouse = frappe.get_single_value("Stock Settings", "sample_retention_warehouse") stock_entry = frappe.new_doc("Stock Entry") stock_entry.company = company @@ -3422,38 +3487,64 @@ def move_sample_to_retention_warehouse(company, items): stock_entry.set_stock_entry_type() for item in items: if item.get("sample_quantity") and item.get("serial_and_batch_bundle"): - batch_no = get_batch_from_bundle(item.get("serial_and_batch_bundle")) - sample_quantity = validate_sample_quantity( - item.get("item_code"), - item.get("sample_quantity"), - item.get("transfer_qty") or item.get("qty"), - batch_no, + warehouse = item.get("t_warehouse") or item.get("warehouse") + total_qty = 0 + cls_obj = SerialBatchCreation( + { + "type_of_transaction": "Outward", + "serial_and_batch_bundle": item.get("serial_and_batch_bundle"), + "item_code": item.get("item_code"), + "warehouse": warehouse, + "do_not_save": True, + } ) - - if sample_quantity: - cls_obj = SerialBatchCreation( - { - "type_of_transaction": "Outward", - "serial_and_batch_bundle": item.get("serial_and_batch_bundle"), - "item_code": item.get("item_code"), - "warehouse": item.get("t_warehouse"), - } + sabb = cls_obj.duplicate_package() + batches = get_batch_nos(item.get("serial_and_batch_bundle")) + sabe_list = [] + for batch_no in batches.keys(): + sample_quantity = validate_sample_quantity( + item.get("item_code"), + item.get("sample_quantity"), + item.get("transfer_qty") or item.get("qty"), + batch_no, ) - cls_obj.duplicate_package() + sabe = next(item for item in sabb.entries if item.batch_no == batch_no) + if sample_quantity: + if sabb.has_serial_no: + new_sabe = [ + entry + for entry in sabb.entries + if entry.batch_no == batch_no + and frappe.db.exists( + "Serial No", {"name": entry.serial_no, "warehouse": warehouse} + ) + ][: int(sample_quantity)] + sabe_list.extend(new_sabe) + total_qty += len(new_sabe) + else: + total_qty += sample_quantity + sabe.qty = sample_quantity + else: + sabb.entries.remove(sabe) + + if total_qty: + if sabe_list: + sabb.entries = sabe_list + sabb.save() stock_entry.append( "items", { "item_code": item.get("item_code"), - "s_warehouse": item.get("t_warehouse"), + "s_warehouse": warehouse, "t_warehouse": retention_warehouse, - "qty": item.get("sample_quantity"), + "qty": total_qty, "basic_rate": item.get("valuation_rate"), "uom": item.get("uom"), "stock_uom": item.get("stock_uom"), "conversion_factor": item.get("conversion_factor") or 1.0, - "serial_and_batch_bundle": cls_obj.serial_and_batch_bundle, + "serial_and_batch_bundle": sabb.name, }, ) if stock_entry.get("items"): diff --git a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py index 576d129ee2d..6e54fd4e3b9 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py @@ -190,6 +190,7 @@ def make_stock_entry(**args): "cost_center": args.cost_center, "expense_account": args.expense_account, "use_serial_batch_fields": args.use_serial_batch_fields, + "sample_quantity": frappe.get_value("Item", args.item, "sample_quantity") or 0, }, ) diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index a3e0aea07be..86e4211afa3 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -14,6 +14,13 @@ from erpnext.stock.doctype.item.test_item import ( make_item_variant, set_item_variant_settings, ) +from erpnext.stock.doctype.material_request.material_request import ( + make_in_transit_stock_entry, +) +from erpnext.stock.doctype.material_request.test_material_request import ( + get_in_transit_warehouse, + make_material_request, +) from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( get_batch_from_bundle, get_serial_nos_from_bundle, @@ -29,7 +36,6 @@ from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( create_stock_reconciliation, ) -from erpnext.stock.serial_batch_bundle import SerialBatchCreation from erpnext.stock.stock_ledger import NegativeStockError, get_previous_sle @@ -2190,6 +2196,193 @@ class TestStockEntry(IntegrationTestCase): self.assertEqual(se.purpose, "Repack") self.assertRaises(frappe.ValidationError, se.submit) + def test_transferred_qty_in_material_transfer(self): + item_code = "_Test Item" + source_warehouse = "_Test Warehouse - _TC" + target_warehouse = "_Test Warehouse 1 - _TC" + + if not frappe.db.get_value("UOM Conversion Detail", {"parent": item_code, "uom": "Box"}): + item_doc = frappe.get_doc("Item", item_code) + item_doc.append("uoms", {"uom": "Box", "conversion_factor": 12}) + item_doc.save(ignore_permissions=True) + + make_stock_entry(item_code=item_code, target=source_warehouse, qty=12, rate=100) + + # Create a Material Request for Material Transfer + material_request = make_material_request( + material_request_type="Material Transfer", + qty=1, + item_code=item_code, + uom="Box", + conversion_factor=12, + from_warehouse=source_warehouse, + warehouse=target_warehouse, + ) + in_transit_wh = get_in_transit_warehouse(material_request.company) + + # Create first Stock Entry (Source -> In-Transit) + stock_entry_1 = make_in_transit_stock_entry(material_request.name, in_transit_wh) + stock_entry_1.items[0].update( + { + "qty": 1, + "s_warehouse": source_warehouse, + } + ) + stock_entry_1.save().submit() + + # Validate transfer status after first transfer + material_request.reload() + self.assertEqual(material_request.transfer_status, "In Transit") + + # Create final Stock Entry (In-Transit -> Target) + end_transit_1 = make_stock_in_entry(stock_entry_1.name) + end_transit_1.save().submit() + end_transit_1.reload() + + # Validate quantities + stock_entry_1.reload() + self.assertEqual(stock_entry_1.items[0].qty, 1) + self.assertEqual(stock_entry_1.items[0].transfer_qty, 12) + self.assertEqual(stock_entry_1.items[0].transferred_qty, 12) + + # Validate transfer status after final transfer + material_request.reload() + self.assertEqual(material_request.transfer_status, "Completed") + + def test_manufacture_entry_without_wo(self): + from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + + fg_item = make_item("_Mobiles", properties={"is_stock_item": 1}).name + rm_item1 = make_item("_Temper Glass", properties={"is_stock_item": 1}).name + rm_item2 = make_item("_Battery", properties={"is_stock_item": 1}).name + warehouse = "_Test Warehouse - _TC" + make_stock_entry(item_code=rm_item1, target=warehouse, qty=5, purpose="Material Receipt") + make_stock_entry(item_code=rm_item2, target=warehouse, qty=5, purpose="Material Receipt") + + bom_no = make_bom(item=fg_item, raw_materials=[rm_item1, rm_item2]).name + se = make_stock_entry(item_code=fg_item, qty=1, purpose="Manufacture", do_not_save=True) + se.from_bom = 1 + se.use_multi_level_bom = 1 + se.bom_no = bom_no + se.fg_completed_qty = 1 + se.from_warehouse = warehouse + se.to_warehouse = warehouse + + se.get_items() + rm_items = {d.item_code: d.qty for d in se.items if d.item_code != fg_item} + self.assertEqual(rm_items[rm_item1], 1) + self.assertEqual(rm_items[rm_item2], 1) + se.calculate_rate_and_amount() + se.save() + se.submit() + + def test_disassemble_entry_without_wo(self): + from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + + fg_item = make_item("_Disassemble Mobile", properties={"is_stock_item": 1}).name + rm_item1 = make_item("_Disassemble Temper Glass", properties={"is_stock_item": 1}).name + rm_item2 = make_item("_Disassemble Battery", properties={"is_stock_item": 1}).name + warehouse = "_Test Warehouse - _TC" + + # Stock up the FG item (what we'll disassemble) + make_stock_entry(item_code=fg_item, target=warehouse, qty=5, purpose="Material Receipt") + + bom_no = make_bom(item=fg_item, raw_materials=[rm_item1, rm_item2]).name + + se = make_stock_entry(item_code=fg_item, qty=1, purpose="Disassemble", do_not_save=True) + se.from_bom = 1 + se.use_multi_level_bom = 1 + se.bom_no = bom_no + se.fg_completed_qty = 1 + se.from_warehouse = warehouse + se.to_warehouse = warehouse + + se.get_items() + + # Verify FG as source (being consumed) + fg_items = [d for d in se.items if d.is_finished_item] + self.assertEqual(len(fg_items), 1) + self.assertEqual(fg_items[0].item_code, fg_item) + self.assertEqual(fg_items[0].qty, 1) + self.assertEqual(fg_items[0].s_warehouse, warehouse) + self.assertFalse(fg_items[0].t_warehouse) + + # Verify RM as target (being received) + rm_items = {d.item_code: d for d in se.items if not d.is_finished_item} + self.assertEqual(len(rm_items), 2) + self.assertIn(rm_item1, rm_items) + self.assertIn(rm_item2, rm_items) + self.assertEqual(rm_items[rm_item1].qty, 1) + self.assertEqual(rm_items[rm_item2].qty, 1) + self.assertEqual(rm_items[rm_item1].t_warehouse, warehouse) + self.assertFalse(rm_items[rm_item1].s_warehouse) + + se.calculate_rate_and_amount() + se.save() + se.submit() + + @IntegrationTestCase.change_settings( + "Stock Settings", {"sample_retention_warehouse": "_Test Warehouse 1 - _TC"} + ) + def test_sample_retention_stock_entry(self): + from erpnext.stock.doctype.stock_entry.stock_entry import move_sample_to_retention_warehouse + + warehouse = "_Test Warehouse - _TC" + retain_sample_item = make_item( + "Retain Sample Item", + properties={ + "is_stock_item": 1, + "retain_sample": 1, + "sample_quantity": 2, + "has_batch_no": 1, + "has_serial_no": 1, + "create_new_batch": 1, + "batch_number_series": "SAMPLE-RET-.#####", + "serial_no_series": "SAMPLE-RET-SN-.#####", + }, + ) + material_receipt = make_stock_entry( + item_code=retain_sample_item.item_code, target=warehouse, qty=10, purpose="Material Receipt" + ) + + source_sabb = frappe.get_doc( + "Serial and Batch Bundle", material_receipt.items[0].serial_and_batch_bundle + ) + batch = source_sabb.entries[0].batch_no + serial_nos = [entry.serial_no for entry in source_sabb.entries] + + sample_entry = frappe.get_doc( + move_sample_to_retention_warehouse(material_receipt.company, material_receipt.items) + ) + sample_entry.submit() + target_sabb = frappe.get_doc("Serial and Batch Bundle", sample_entry.items[0].serial_and_batch_bundle) + + self.assertEqual(sample_entry.items[0].transfer_qty, 2) + self.assertEqual(target_sabb.entries[0].batch_no, batch) + self.assertEqual([entry.serial_no for entry in target_sabb.entries], serial_nos[:2]) + + def test_raw_material_missing_validation(self): + original_value = frappe.db.get_single_value("Manufacturing Settings", "material_consumption") + frappe.db.set_single_value("Manufacturing Settings", "material_consumption", 0) + + stock_entry = make_stock_entry( + item_code="_Test Item", + qty=1, + target="_Test Warehouse - _TC", + do_not_save=True, + ) + + stock_entry.purpose = "Manufacture" + stock_entry.stock_entry_type = "Manufacture" + stock_entry.items[0].is_finished_item = 1 + + self.assertRaises( + frappe.ValidationError, + stock_entry.save, + ) + + frappe.db.set_single_value("Manufacturing Settings", "material_consumption", original_value) + def make_serialized_item(self, **args): args = frappe._dict(args) 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 29c0cd7e05c..067f183f266 100644 --- a/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py +++ b/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py @@ -7,8 +7,6 @@ from frappe import _ from frappe.model.document import Document from frappe.utils import flt -from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict - class StockEntryType(Document): # begin: auto-generated types diff --git a/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py b/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py index 2ffeaed47f5..8d57421e2dd 100644 --- a/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py +++ b/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py index 4f6919e145b..0a419ecf3fc 100644 --- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py @@ -5,7 +5,7 @@ from datetime import date import frappe -from frappe import _, bold +from frappe import _ from frappe.core.doctype.role.role import get_users from frappe.model.document import Document from frappe.query_builder.functions import Sum @@ -15,7 +15,6 @@ from erpnext.accounts.utils import get_fiscal_year from erpnext.controllers.item_variant import ItemTemplateCannotHaveStock from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions from erpnext.stock.serial_batch_bundle import SerialBatchBundle -from erpnext.stock.stock_ledger import get_previous_sle class StockFreezeError(frappe.ValidationError): diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 59683e87e3d..bdc3e3529c9 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -4,8 +4,7 @@ import frappe from frappe import _, bold, json, msgprint -from frappe.query_builder.functions import Sum -from frappe.utils import add_to_date, cint, cstr, flt, get_datetime, now +from frappe.utils import add_to_date, cint, cstr, flt, now import erpnext from erpnext.accounts.utils import get_company_default diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py index 2500b521017..54808ffe292 100644 --- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py @@ -1118,7 +1118,6 @@ class TestStockReconciliation(IntegrationTestCase, StockTestMixin): def test_not_reconcile_all_serial_nos(self): from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry - from erpnext.stock.utils import get_incoming_rate item = self.make_item( "Test Serial NO Item Not Reconcile All Serial Batch", diff --git a/erpnext/stock/doctype/stock_reposting_settings/test_stock_reposting_settings.py b/erpnext/stock/doctype/stock_reposting_settings/test_stock_reposting_settings.py index 74cf9f08b77..002423f05b1 100644 --- a/erpnext/stock/doctype/stock_reposting_settings/test_stock_reposting_settings.py +++ b/erpnext/stock/doctype/stock_reposting_settings/test_stock_reposting_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase 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 aa49726374a..893dd47a098 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 @@ -5,7 +5,7 @@ from random import randint import frappe from frappe.tests import IntegrationTestCase -from frappe.utils import cint, today +from frappe.utils import today from erpnext.selling.doctype.sales_order.sales_order import create_pick_list, make_delivery_note from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order diff --git a/erpnext/stock/doctype/uom_category/test_uom_category.py b/erpnext/stock/doctype/uom_category/test_uom_category.py index ebd2b5644c0..e0c10f0a0bc 100644 --- a/erpnext/stock/doctype/uom_category/test_uom_category.py +++ b/erpnext/stock/doctype/uom_category/test_uom_category.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/variant_field/test_variant_field.py b/erpnext/stock/doctype/variant_field/test_variant_field.py index ab35caf96b8..82c266e15d9 100644 --- a/erpnext/stock/doctype/variant_field/test_variant_field.py +++ b/erpnext/stock/doctype/variant_field/test_variant_field.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py b/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py index 4afa82219cb..4d365045820 100644 --- a/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py +++ b/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py @@ -1,7 +1,6 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index a1f431c883e..95ae53374bc 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -3,8 +3,6 @@ import json -import typing -from functools import WRAPPER_ASSIGNMENTS, wraps import frappe from frappe import _, throw @@ -580,9 +578,6 @@ def get_basic_details(ctx: ItemDetailsCtx, item, overwrite_warehouse=True) -> It return out -from erpnext.deprecation_dumpster import get_item_warehouse - - @erpnext.normalize_ctx_input(ItemDetailsCtx) def get_item_warehouse_(ctx: ItemDetailsCtx, item, overwrite_warehouse, defaults=None): if not defaults: @@ -1337,9 +1332,6 @@ def get_tax_withholding_category(ctx: ItemDetailsCtx, item_doc, out: ItemDetails out.tax_withholding_category = tax_withholding_category -from erpnext.deprecation_dumpster import get_pos_profile_item_details - - @erpnext.normalize_ctx_input(ItemDetailsCtx) def get_pos_profile_item_details_(ctx: ItemDetailsCtx, company, pos_profile=None, update_data=False): res = frappe._dict() diff --git a/erpnext/stock/report/available_batch_report/available_batch_report.py b/erpnext/stock/report/available_batch_report/available_batch_report.py index e5f14315773..1fd612eb0b7 100644 --- a/erpnext/stock/report/available_batch_report/available_batch_report.py +++ b/erpnext/stock/report/available_batch_report/available_batch_report.py @@ -1,7 +1,6 @@ # Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -from collections import defaultdict import frappe from frappe import _ diff --git a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py index 713161e3f8a..f61f2e51009 100644 --- a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py +++ b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py @@ -4,7 +4,7 @@ import frappe from frappe import _ -from frappe.utils import add_to_date, cint, flt, get_datetime, get_table_name, getdate +from frappe.utils import add_to_date, cint, flt, get_datetime, getdate from pypika import functions as fn from erpnext.deprecation_dumpster import deprecated diff --git a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py index 5a8960396b3..6d8aef258dc 100644 --- a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py +++ b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py @@ -6,7 +6,6 @@ import frappe from frappe import _ from frappe.query_builder.functions import IfNull, Max from frappe.utils import flt -from pypika.terms import ExistsCriterion from erpnext.stock.report.stock_ledger.stock_ledger import get_item_group_condition diff --git a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py index 172e0fa6a41..8afe1d72e27 100644 --- a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py +++ b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py @@ -42,9 +42,37 @@ def get_data(report_filters): gl_data = voucher_wise_gl_data.get(key) or {} d.account_value = gl_data.get("account_value", 0) d.difference_value = d.stock_value - d.account_value + d.ledger_type = "Stock Ledger Entry" if abs(d.difference_value) > 0.1: data.append(d) + if key in voucher_wise_gl_data: + del voucher_wise_gl_data[key] + + if voucher_wise_gl_data: + data += get_gl_ledgers_with_no_stock_ledger_entries(voucher_wise_gl_data) + + return data + + +def get_gl_ledgers_with_no_stock_ledger_entries(voucher_wise_gl_data): + data = [] + + for key in voucher_wise_gl_data: + gl_data = voucher_wise_gl_data.get(key) or {} + data.append( + { + "name": gl_data.get("name"), + "ledger_type": "GL Entry", + "voucher_type": gl_data.get("voucher_type"), + "voucher_no": gl_data.get("voucher_no"), + "posting_date": gl_data.get("posting_date"), + "stock_value": 0, + "account_value": gl_data.get("account_value", 0), + "difference_value": gl_data.get("account_value", 0) * -1, + } + ) + return data @@ -88,6 +116,7 @@ def get_gl_data(report_filters, filters): "name", "voucher_type", "voucher_no", + "posting_date", { "SUB": [{"SUM": "debit_in_account_currency"}, {"SUM": "credit_in_account_currency"}], "as": "account_value", @@ -109,10 +138,15 @@ def get_columns(filters): { "label": _("Stock Ledger ID"), "fieldname": "name", - "fieldtype": "Link", - "options": "Stock Ledger Entry", + "fieldtype": "Dynamic Link", + "options": "ledger_type", "width": "80", }, + { + "label": _("Ledger Type"), + "fieldname": "ledger_type", + "fieldtype": "Data", + }, {"label": _("Posting Date"), "fieldname": "posting_date", "fieldtype": "Date"}, {"label": _("Posting Time"), "fieldname": "posting_time", "fieldtype": "Time"}, {"label": _("Voucher Type"), "fieldname": "voucher_type", "width": "110"}, diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py index 8e37799e8ce..5367fc5af90 100644 --- a/erpnext/stock/report/stock_ledger/stock_ledger.py +++ b/erpnext/stock/report/stock_ledger/stock_ledger.py @@ -3,7 +3,6 @@ import copy -from collections import defaultdict import frappe from frappe import _ diff --git a/erpnext/stock/report/test_reports.py b/erpnext/stock/report/test_reports.py index 986c1404cbe..0fe0925b9a4 100644 --- a/erpnext/stock/report/test_reports.py +++ b/erpnext/stock/report/test_reports.py @@ -1,6 +1,3 @@ -import unittest - -import frappe from frappe.tests import IntegrationTestCase from frappe.utils.make_random import get_random diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py index 13d7b100855..6a63a73158c 100644 --- a/erpnext/stock/serial_batch_bundle.py +++ b/erpnext/stock/serial_batch_bundle.py @@ -2,12 +2,10 @@ from collections import defaultdict import frappe from frappe import _, bold -from frappe.model.naming import NamingSeries, make_autoname, parse_naming_series -from frappe.query_builder import Case -from frappe.query_builder.functions import Max, Sum, Timestamp -from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, getdate, now, nowtime, today +from frappe.model.naming import NamingSeries, parse_naming_series +from frappe.query_builder.functions import Max, Sum +from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, getdate, now from pypika import Order -from pypika.terms import ExistsCriterion from erpnext.stock.deprecated_serial_batch import ( DeprecatedBatchNoValuation, @@ -635,6 +633,9 @@ class SerialNoValuation(DeprecatedSerialNoValuation): self.old_serial_nos = [] serial_nos = self.get_serial_nos() + if not serial_nos: + return + result = self.get_serial_no_wise_incoming_rate(serial_nos) for serial_no in serial_nos: incoming_rate = result.get(serial_no) @@ -989,9 +990,10 @@ def get_batch_nos(serial_and_batch_bundle): entries = frappe.get_all( "Serial and Batch Entry", - fields=["batch_no", "qty", "name"], + fields=["batch_no", {"SUM": "qty", "as": "qty"}], filters={"parent": serial_and_batch_bundle, "batch_no": ("is", "set")}, order_by="idx", + group_by="batch_no", ) if not entries: @@ -1116,7 +1118,7 @@ class SerialBatchCreation: id = self.serial_and_batch_bundle package = frappe.get_doc("Serial and Batch Bundle", id) - new_package = frappe.copy_doc(package) + new_package = frappe.copy_doc(package, ignore_no_copy=False) if self.get("returned_serial_nos"): self.remove_returned_serial_nos(new_package) diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 7a9a2ad273a..c7dc34195f5 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -11,9 +11,7 @@ from frappe.model.meta import get_field_precision from frappe.query_builder import Order from frappe.query_builder.functions import Sum from frappe.utils import ( - add_to_date, cint, - cstr, flt, format_date, get_link_to_form, diff --git a/erpnext/stock/tests/test_valuation.py b/erpnext/stock/tests/test_valuation.py index c5931c7b990..491cfab93cb 100644 --- a/erpnext/stock/tests/test_valuation.py +++ b/erpnext/stock/tests/test_valuation.py @@ -1,5 +1,4 @@ import json -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/test_subcontracting_receipt.py b/erpnext/subcontracting/doctype/subcontracting_receipt/test_subcontracting_receipt.py index 5bf2a6dd6fe..2a69083bc0f 100644 --- a/erpnext/subcontracting/doctype/subcontracting_receipt/test_subcontracting_receipt.py +++ b/erpnext/subcontracting/doctype/subcontracting_receipt/test_subcontracting_receipt.py @@ -10,7 +10,6 @@ from frappe.utils import add_days, cint, flt, nowtime, today import erpnext from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.accounts.utils import get_company_default from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.controllers.tests.test_subcontracting_controller import ( get_rm_items, diff --git a/erpnext/support/doctype/issue/test_issue.py b/erpnext/support/doctype/issue/test_issue.py index 92979839d1b..c0d14c21531 100644 --- a/erpnext/support/doctype/issue/test_issue.py +++ b/erpnext/support/doctype/issue/test_issue.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest import frappe from frappe import _ diff --git a/erpnext/support/doctype/issue_priority/test_issue_priority.py b/erpnext/support/doctype/issue_priority/test_issue_priority.py index 8a7140ff3cb..d55b4367fe3 100644 --- a/erpnext/support/doctype/issue_priority/test_issue_priority.py +++ b/erpnext/support/doctype/issue_priority/test_issue_priority.py @@ -1,6 +1,5 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/support/doctype/issue_type/test_issue_type.py b/erpnext/support/doctype/issue_type/test_issue_type.py index 6bdc647aa3a..6dffbf50f21 100644 --- a/erpnext/support/doctype/issue_type/test_issue_type.py +++ b/erpnext/support/doctype/issue_type/test_issue_type.py @@ -1,6 +1,5 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py index 988bd54e9f6..2698ea46080 100644 --- a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py +++ b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py @@ -1,7 +1,6 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import datetime -import unittest import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/support/doctype/support_settings/test_support_settings.py b/erpnext/support/doctype/support_settings/test_support_settings.py index 751c8d907cd..af8f5b516e4 100644 --- a/erpnext/support/doctype/support_settings/test_support_settings.py +++ b/erpnext/support/doctype/support_settings/test_support_settings.py @@ -1,6 +1,5 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/support/doctype/warranty_claim/test_warranty_claim.py b/erpnext/support/doctype/warranty_claim/test_warranty_claim.py index ff41f36b2cd..4f7726abe5d 100644 --- a/erpnext/support/doctype/warranty_claim/test_warranty_claim.py +++ b/erpnext/support/doctype/warranty_claim/test_warranty_claim.py @@ -1,8 +1,6 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt -import unittest -import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/support/report/issue_analytics/test_issue_analytics.py b/erpnext/support/report/issue_analytics/test_issue_analytics.py index 1598ef9d295..edb0c554d11 100644 --- a/erpnext/support/report/issue_analytics/test_issue_analytics.py +++ b/erpnext/support/report/issue_analytics/test_issue_analytics.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.desk.form.assign_to import add as add_assignment from frappe.tests import IntegrationTestCase diff --git a/erpnext/telephony/doctype/call_log/test_call_log.py b/erpnext/telephony/doctype/call_log/test_call_log.py index e50a13d9f9e..8cba8d90891 100644 --- a/erpnext/telephony/doctype/call_log/test_call_log.py +++ b/erpnext/telephony/doctype/call_log/test_call_log.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py index 594e17e0f32..baf818a08cc 100644 --- a/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py +++ b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/telephony/doctype/telephony_call_type/test_telephony_call_type.py b/erpnext/telephony/doctype/telephony_call_type/test_telephony_call_type.py index 3c8e4952401..d837605d330 100644 --- a/erpnext/telephony/doctype/telephony_call_type/test_telephony_call_type.py +++ b/erpnext/telephony/doctype/telephony_call_type/test_telephony_call_type.py @@ -1,7 +1,6 @@ # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py b/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py index c1c6d68d964..6b885ff1edb 100644 --- a/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py +++ b/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/tests/test_init.py b/erpnext/tests/test_init.py index 7675a031a70..4cd87dd2279 100644 --- a/erpnext/tests/test_init.py +++ b/erpnext/tests/test_init.py @@ -1,6 +1,3 @@ -import unittest - -import frappe from frappe.tests import IntegrationTestCase from erpnext import encode_company_abbr diff --git a/erpnext/tests/test_notifications.py b/erpnext/tests/test_notifications.py index 9c27229d335..ffafbdf296a 100644 --- a/erpnext/tests/test_notifications.py +++ b/erpnext/tests/test_notifications.py @@ -1,6 +1,5 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt -import unittest import frappe from frappe.desk import notifications diff --git a/erpnext/tests/test_point_of_sale.py b/erpnext/tests/test_point_of_sale.py index 589c7cb0e48..3ce8a820033 100644 --- a/erpnext/tests/test_point_of_sale.py +++ b/erpnext/tests/test_point_of_sale.py @@ -1,8 +1,6 @@ # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt -import unittest -import frappe from frappe.tests import IntegrationTestCase from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile diff --git a/erpnext/tests/test_regional.py b/erpnext/tests/test_regional.py index 83f551aae8e..e8a99f60820 100644 --- a/erpnext/tests/test_regional.py +++ b/erpnext/tests/test_regional.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/tests/test_webform.py b/erpnext/tests/test_webform.py index 5f600941e8f..d653484f473 100644 --- a/erpnext/tests/test_webform.py +++ b/erpnext/tests/test_webform.py @@ -1,5 +1,3 @@ -import unittest - import frappe from frappe.tests import IntegrationTestCase diff --git a/erpnext/utilities/doctype/video/test_video.py b/erpnext/utilities/doctype/video/test_video.py index 4d37c575f84..2f00b834e1d 100644 --- a/erpnext/utilities/doctype/video/test_video.py +++ b/erpnext/utilities/doctype/video/test_video.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/utilities/doctype/video_settings/test_video_settings.py b/erpnext/utilities/doctype/video_settings/test_video_settings.py index fea375e5128..83b8a3bd9db 100644 --- a/erpnext/utilities/doctype/video_settings/test_video_settings.py +++ b/erpnext/utilities/doctype/video_settings/test_video_settings.py @@ -1,7 +1,6 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt # import frappe -import unittest from frappe.tests import IntegrationTestCase diff --git a/erpnext/workspace_sidebar/quality.json b/erpnext/workspace_sidebar/quality.json index 346fa15b3e2..0e9d20d2a91 100644 --- a/erpnext/workspace_sidebar/quality.json +++ b/erpnext/workspace_sidebar/quality.json @@ -124,17 +124,6 @@ "show_arrow": 0, "type": "Link" }, - { - "child": 1, - "collapsible": 1, - "indent": 0, - "keep_closed": 0, - "label": "Tree of Procedures", - "link_to": "Quality Procedure", - "link_type": "DocType", - "show_arrow": 0, - "type": "Link" - }, { "child": 1, "collapsible": 1, @@ -158,7 +147,7 @@ "type": "Link" } ], - "modified": "2026-01-10 00:06:13.140271", + "modified": "2026-01-12 12:59:09.607272", "modified_by": "Administrator", "module": "Quality Management", "name": "Quality", diff --git a/erpnext/workspace_sidebar/subcontracting.json b/erpnext/workspace_sidebar/subcontracting.json index 4cd0bc9003c..31618a4a860 100644 --- a/erpnext/workspace_sidebar/subcontracting.json +++ b/erpnext/workspace_sidebar/subcontracting.json @@ -192,11 +192,12 @@ "label": "Settings", "link_to": "Buying Settings", "link_type": "DocType", + "navigate_to_tab": "subcontract", "show_arrow": 0, "type": "Link" } ], - "modified": "2026-01-10 00:06:12.744529", + "modified": "2026-01-12 13:12:47.927785", "modified_by": "Administrator", "module": "Buying", "name": "Subcontracting", diff --git a/pyproject.toml b/pyproject.toml index e450d675f02..c4029137907 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ skip_namespaces = [ ] [tool.bench.frappe-dependencies] -frappe = ">=16.0.0-dev,<17.0.0" +frappe = ">=17.0.0-dev,<18.0.0" [tool.ruff] line-length = 110